安卓手机安装Ubuntu部署php7.1+nginx

  废置安卓手机安装Linux Depoly软件部署Ubuntu环境,再部署php环境,用来做miniweb服务器,过程记录如下:

ununtu

部署Ubuntu环境

  获取手机root权限。按照顺序安装app:BusyBox→Linux Deploy→JuiceSSH。将Linux Deploy的后台配置设置为无限制。

  Linux Deploy配置如下:

  • ⇒Containerization method:”chroot”
  • ⇒发行版:”Ubuntu”
  • ⇒架构:保持默认值
  • ⇒发行版版本:”yakkety”(即Ubuntu 16.10,有更高版本也可选择)
  • ⇒源地址:http://mirror.tuna.tsinghua.edu.cn/ubuntu-ports/(因为默认源速度不佳,为了不下载一天一夜,我们这里使用的是清华大学的开源镜像源)
  • ⇒安装类型:目录
  • ⇒安装路径:默认路径为${ENV_DIR}/rootfs/linux,即安装在/data/user/0/ru.meefik.linuxdeploy/env/rootfs/linux目录下。
  • ⇒用户名:这个选项为登录系统时的用户名,默认为”android”,可以随意更改。
  • ⇒用户密码:这个选项为Ubuntu系统中用户的密码,可以根据自己的习惯填写。
  • ⇒允许SSH服务器启动:打开此选项

  其他全部保持默认

  配置完成,返回选择”安装”开始Linux系统的安装,安装过程中需要一直保持网络连接(建议在WIFI下安装,大概需要几百兆流量)。

  当看到终端输出”«deploy”时,代表安装已完成。

  点击主界面下方的”启动”按钮可以启动新安装的系统,点击”停止”可以停止系统。

  至此,系统部署完毕。

  可以使用SSH工具来登录系统,安卓推荐JuiceSSH。使用略。

安装php7.1+nginx环境

  更新本机内置的程序

sudo apt-get update
sudo apt-get upgrade

  判断系统是否内置了add-apt-repository命令,如果没有执行下列命令安装

sudo apt-get install software-properties-common

安装PHP7.1

  添加最新php的源,然后安装php

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.1 php7.1-common php7.1-fpm php7.1-dev 
sudo apt-get install php7.1-mbstring php7.1-xml

  安装结束之后就可以执行php -i命令查看到php-cli的信息

  不过要配合nginx的话,需要用php-fpm来管理php的进程

service php7.1-fpm start
service php7.1-fpm stop
service php7.1-fpm restart

安装nginx

  直接安装nginx

sudo apt-get install nginx

  nginx的操作命令如下:

service nginx start
service nginx stop
service nginx restart

  查看nginx使用的config配置文件或者软重启的命令是

nginx -t
nginx -s reload

配置nginx

  一般配置文件在/etc/nginx目录下。

  不过要配置一个新的网站,不需要在nginx.conf里添加,只需要在sites-enabled文件夹下加一个对应文件即可(文件名随意)

cd /etc/nginx/sites-enabled
touch demo

  上面的demo文件是随便命名,用vi打开

vim demo

  然后添加下面的内容(使nginx支持PHP)

server {
    listen 80;
    server_name demo.com;
    root /var/www/html/demo;
    index index.html index.htm index.php;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

  解释一下上面的配置:

  1. 独立的一个服务器配置需要用server{}包裹起来
  2. listen 80表示监听80端口,也就是http访问的默认端口,其它端口在浏览器上需要输入端口号。
  3. server_name表示绑定的是哪个域名。
  4. root表示该域名访问到路径对应的实际文件夹
  5. index表示域名的path为空的时候对应访问哪个文件,默认都是index.html、index.htm和index.php
  6. location /这里是对所有路径做路由重写。
  7. location ~ .php$是指访问所有后缀名带.php的路径时候,需要执行的操作,这里也就是配置php的fastcgi
  8. fastcgi里的最重要部分是fastcgi_pass,它代表nginx服务器如何与php通信,这里的unix:/var/run/php/php7.1-fpm.sock;是php7.1-fpm启动后生成的套接字文件,可以和nginx通信。

  重启nginx

sudo service nginx restart

  至此,手机部署PHP环境完成,可以完美运行不需要数据库的dokuwiki等不需要数据库的php程序。运行博客等需要mysql数据库可以再继续安装。

  参考:

  1. Linux Deploy:在Android上部署Linux
  2. ubuntu部署php7.1
添加新评论