Termux手动配置lnmp环境
1.前言
lnmp是简写,全称为linux+Nginx+mysql或MariaDB+php
- L指linux,就是操作系统
- N是指Nginx,是高性能的 HTTP 和反向代理的web服务器,简单来说就是前端用他运行,前端就是页面,你访问网站看到的页面
- M是指MySQL或MariaDB,是一个关系型数据库管理系统,这里的关系型,我们就不做解释了,感兴趣的可以看这里,mysql简单来说就是数据库,用来存储数据,MariaDB也是数据库,他是mysql的一个分支,具体差异和这其中的故事请查看
- P是指PHP,PHP: Hypertext Preprocessor 即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。简单来说就是网页编程语言
温馨提示:外国人把这一套叫做lemp,搜英文资料需要搜lemp
lnmp工作原理
我们将把这一套服务,手动配置在Termux上
2.安装所需软件
我们要先把Termux换成国内源,以便更快速的下载软件(已换源的可以忽略这一步)
1 | sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.bfsu.edu.cn/termux/apt/termux-main stable main@' $PREFIX/etc/apt/sources.list && apt update && apt upgrade |
然后我们安装Nginx mariadb php-fpm
1 | apt install nginx mariadb php-fpm |
注:如果您是其他linux用户的话,请不要直接执行上述命令,请百度查看您系统的对应命令
3.配置环境
3.1 MariaDB
首先 我们启动mariadb
1 | nohup mysqld & |
nohup 英文全称no hang up(不挂起),用于在系统后台不挂断地运行命令,如果你直接运行mysqld命令的话,他则会占用你一个终端,不能执行其他命令,所以把他放到后台运行。
Termux安装Maridb的话默认是包含两个用户
的,一个是当前用户也就是whoami,另一个则是root,但是我们不能直接登录root,所以我们要以当前用户登录,然后配置一下root用户。
执行以下命令登录
1 | mysql -u $(whoami) |
如果您如下图所示,那么是就登录成功了
然后我们执行
1 | # 使用当前数据库 |
一条一条的执行,执行完毕后
我们就可以使用如下命令登录root账号了
1 | mysql -u root -p |
3.2 Nginx
首先,使用编辑器打开以下路径
1 | $PREFIX/etc/nginx/nginx.conf |
找到第45行
是这个样子的
我们把index.php
添加到index.htm的后面,就像这样
这一步是为了把index.php添加成默认首页
然后往下翻,找到第69行,把SCRIPT_FILENAME后面的字全部删了,改成
1 | /data/data/com.termux/files/usr/share/nginx/html$fastcgi_script_name; |
然后再把65行到71行的**#**全部删掉
3.3 php-fpm
PHP-FPM(PHP FastCGI Process Manager)意:PHP FastCGI 进程管理器,注意,他只是管理器,用于管理PHP 进程池的软件,用于接受web服务器的请求。
Nginx只是一个web服务器,他不能处理php的请求,所以当Nginx收到关于php的请求时,则需要发给php-fpm处理,php-fpm则在发给php-fastcgi处理
注:php-fastcgi 只是一个cgi程序,只会解析php请求,并且返回结果,不会管理(因此才出现的php-fpm)。
更多关于php-fpm请查看博客园 by walkingSun和知乎php架构师更多内容请百度
使用编辑软件编辑以下文件
1 | $PREFIX/etc/php-fpm.d/www.conf |
往下翻,找到在第36行listen = /data/data/com.termux/files/usr/var/run/php-fpm.sock
把他改为
1 | listen = 127.0.0.1:9000 |
4.测试
4.1 测试Nginx
1 | nginx -t |
4.2 测试php解析
执行
1 | echo '<?php phpinfo(); ?>' > $PREFIX/share/nginx/html/1.php |
然后启动Nginx和php-fpm
1 | nginx && php-fpm |
然后访问http://127.0.0.1:8080/1.php
如果和下面的图一样那么就是可以正常解析了
5.温馨提示
Termux默认网站根目录路径为/data/data/com.termux/files/usr/share/nginx/html
当您关闭过termux,发现访问不了了,请依次启动Nginx,php-fpm,MariaDB
Nginx启动命令
1 | nginx |
停止命令
1 | nginx -s stop 或 nginx -s quit |
Quit is a graceful shutdown. Nginx finishes serving the open connections before shutdown
Quit 是一个优雅的关闭方式,Nginx在退出前完成已经接受的连接请求。
Stop is a quick shutdown where is terminates in between serving the connection
Stop 是快速关闭,不管有没有正在处理的请求。
http://wiki.nginx.org/CommandLine
php-fpm启动/关闭命令
1 | # 启动 |
MariaDB启动/停止命令
1 | # 启动 |
Termux手动配置lnmp环境