LNMP平台是Linux+nginx+mysql/MariaDB+php/python的简称,一般企业用的是Linux+nginx+mysql+php的组合
1、安装部署LNMP环境实现动态网站解析
静态网站 在不同环境下访问,网站内容不会变化
动态网站 在不同环境下访问,网站内容有可能发生变化
- 安装部署Nginx、MariaDB、PHP、PHP-FPM;
- 启动Nginx、MariaDB服务;
2、方案
目前的网站一般都会有动态和静态数据,默认nginx仅可以处理静态数据,用户访问任何数据都是直接返回对应的文件,如果如果访问的是一个脚本的话,就会导致直接返回一个脚本给用户,而用户没有脚本解释器,也看不懂脚本源代码!网站拓扑如图-1所示。因此需要整合LNMP(Linux、Nginx、MySQL、PHP)实现动态网站效果
操作过程中需要安装的软件列表如下:
- nginx
- mariadb、mariadb-server、mariadb-devel
- php、php-fpm、php-mysqlnd
3、编写部署LNMP环境脚本
#!/bin/bash
#/root下 nginx-1.23.2.tar.gz 有才能执行。请自行准备nginx源码包
#安装编译工具,正则表达式依赖包,SSL加密依赖包
yum -y install gcc openssl-devel pcre-devel
#安装mariadb(数据库客户端软件)、mariadb-server(数据库服务器软件)、mariadb-devel(其他客户端软件的依赖包)
yum -y install mariadb mariadb-server mariadb-devel
#安装php(解释器)、php-fpm(进程管理器服务)、php-mysqlnd(PHP的数据库扩展包)。
yum -y install php-mysqlnd php-fpm php
#用tar命令解包,如何没有tar命令,先安装tar命令,并解压
tar -xf /root/nginx-1.23.2.tar.gz
if [ $? -ne 0 ]; then
yum -y install tar
tar -xf /root/lnmp_soft.tar.gz
fi
#切换nginx的目录,并编译
cd nginx-1.23.2/
./configure
make && make install
if [ $? -ne 0 ]; then
yum -y install make
make && make install
fi
#使用sed对nginx配置文件进行修改,使其动静分离
sed -i "65,71s/#//" /usr/local/nginx/conf/nginx.conf
sed -i "67c fastcgi_pass unix:/run/php-fpm/www.sock;" /usr/local/nginx/conf/nginx.conf
sed -i "70c include fastcgi.conf;" /usr/local/nginx/conf/nginx.conf
#对php的配置文件修改
sed -i "38s/;//" /etc/php-fpm.d/www.conf
sed -i "/listen.acl_users /c listen.acl_users = apache,nginx,nobody" /etc/php-fpm.d/www.conf
#开启nginx,php,mariadb服务
/usr/local/nginx/sbin/nginx
systemctl restart php-fpm
systemctl restart mariadb
以上是本人编写的脚本仅供参考