前言介绍
- lnmp的全程是 linux + nginx + mysql + php;
- lnmp就是上述系统及应用程序的简写组合;
- lnmp其实已经代表了一个用户正常对一个页面请求的流程,nginx接收请求,mysql进行数据存储,php进行后端处理;类似的架构还有lamp或者 linux + nginx + mysql + java等等;
- lnmp又叫lemp,外国人喜欢叫lemp,中国人喜欢叫lnmp;
- lnmp相比于lamp架构的优势在于轻便、操作相对简单;lamp优势相对于nginx而言模块丰富;
环境配置
编号 | 软件 | 版本 |
1 | Centos | 7 |
2 | nginx | 1.175 |
3 | mysql | 5.7 |
4 | php | 7.5 |
PS:操作系统属于最小化安装,所有操作均属于在线操作,但也可以用离线操作进行替换;所有的部署操作皆按照下述操作实施。并且我在机器上面部署了ss,用来做http及https的代理请求,因为我家里的网络皆这些开源官网实在太卡了
部署详情
1、安装前的准备
sed -i 's/enforcing/disabled/' /etc/selinux/config rpm -qa | grep "firewall" | xargs rpm -e --nodeps rpm -qa | grep "iptables" | xargs rpm -e --nodeps sed -i 's/.*UseDNS.*/UseDNS no/' /etc/ssh/sshd_config systemctl restart sshd reboot
2、安装ss代理
https://www.cnblogs.com/guge-94/p/11363303.html
3、安装数据库
https://www.cnblogs.com/guge-94/p/10552374.html
4、安装php
yum -y install libxml2 libxml2-devel openssl openssl-devel zlib zlib-devel pcre pcre-devel wget http://45.252.224.82/files/223900000DDAF9C0/zlib.net/zlib-1.2.11.tar.gz -P /opt/ tar -zxf /opt/zlib-1.2.11.tar.gz -C /opt/ cd /opt/zlib-1.2.11 ./configure --prefix=/usr/local/zlib && make -j8 && make install wget https://www.php.net/distributions/php-7.3.11.tar.gz -P /opt/ tar -zxf /opt/php-7.3.11.tar.gz -C /opt/ cd /opt/php-7.3.11 ./configure --prefix=/usr/local/php --with-mysqli=/usr/local/mysql/bin/mysql_config --with-zlib-dir=/usr/local/zlib/ --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-bcmath --enable-shmop --enable-ftp --with-openssl make -j8 && make install make test # 这个测试过程格外的漫长,可选择执行;主要用来测试编译的结果 # 生成配置文件 PS:源码编译安装中包含fpm的代码,但是yum安装或者在线安装是需要单独指定 cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /opt/php-7.3.11/php.ini-production /usr/local/php/lib/php.ini cp /opt/php-7.3.11/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf # 基本配置 chmod a+x /etc/init.d/php-fpm groupadd www useradd -s /sbin/nologin -g www -M www /etc/init.d/php-fpm start ln -s /usr/local/php/bin/* /usr/bin/
PS:我这里并没有像网上那样,安装lnmp或者lamp环境的时候,搞上一大堆插件;其一一般人并不知道所有插件的功能,依赖插件或者扩展库的功能得根据相应的业务场景来定,其二我这里只是实验,如果后续你想添加任何插件,请在文章的基础之上做添加
5、安装nginx
https://www.cnblogs.com/guge-94/p/11758498.html
6、检测安装结果
mkdir -p /data/www cat /data/www/index.php
# 写一个简单的php检测一下整个lnmp环境 <html> <head> <title>PHP 测试</title> </head> <body> <?php echo '<p>Hello World!</p>'; ?> </body> </html> cat /etc/nginx/nginx.conf
# 这是一份关于nginx的基础配置,如需自行优化可在这个基础上进行优化 user www www; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; index index.php index.html index.htm; root /data/www; location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } } chown -R www.www /data/www nginx -t nginx -s reload
上面的操作完成之后通过浏览器或curl请求一下主机地址即可