欢迎光临散文网 会员登陆 & 注册

nginx LNMP架构配置与动静分离

2023-07-31 22:49 作者:DuoDawnKing  | 我要投稿

0.叠甲

Linux萌新,有错轻喷,敬请斧正。

1.思想,要点以及主机分配

#1.动静结合

分离动态资源和静态资源,从而提升服务器可维护性以及性能。

                                                          牛马示意图

#2.要点

nginx端和php端的根目录需要同步,否则不能显示某些静态文件。此处笔者建议使用的是NFS挂载。

#3.主机分配

本次实验中用到三台虚拟机

192.168.126.130 nginx端

192.168.126.131 php端

192.168.126.132 mysql端

2.详细配置

#1.nginx端配置

#安装nginx略 #进入nginx配置文件 server {        listen       80;        server_name  localhost;        access_log  logs/host.access.log  main;        location / {            root   /usr/local/nginx/html;            index  index.html index.htm index.php;   #此处要指定访问index.php        }        location ~ \.php$ {            root           /usr/local/php5/apps;            fastcgi_pass   192.168.126.131:9000;            fastcgi_index  index.php;            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            include        fastcgi_params;        } } #启动nginx systemctl start nginx

参数解析:

fastcgi_pass:这个命令是指定将http代理到哪个fastcgi服务端接口。fastcgi_pass后面是填写fastcgi服务端地址的,这个地址可以是域地址,也可以是Uninx-域套接字。  

fastcgi_index: fastcgi默认的主页资源,示例:fastcgi_index index.php;这个功能和index index.html功能一样。当SCRIPT_FILENAME没有命中脚本的时候,使用的就是fastcgi_index设置的脚本。  

fastcgi_param: 这个命令是设置 fastcgi 请求中的参数,具体设置的东西可以在 PHP 的 $_SERVER 中获取到。  

#2.php端配置

##1.安装

yum install libxml2 yum install libxml2-devel -y yum install libpng -y yum install libpng-devel tar xf php-5.6.30.tar.gz cd php-5.6.30 ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm make && make install cd /usr/local/php5/etc/ cp php-fpm.conf.default php-fpm.conf

##2.配置

useradd nginx -M -s /sbin/nologin   #重要步骤 cd /usr/local/php5/etc egrep -v '^;|^ *$' php-fpm.conf.default > php-fpm.conf vim php-fpm.conf [global] [www] user = nginx group = nginx listen = 9000 pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 10 #启动 /usr/local/php5/sbin/php-fpm

参数解析:

user,group:进程的发起用户和用户组,用户user是必须设置,group不是

listen:监听的ip和端口

pm = dynamic:选择进程池管理器如何控制子进程的数量。static是对于子进程的开启数路给定一个锁定的值(pm.max_children),dynamic是子进程的数目为动态的,它的数目基于下面的指令的值(以下为dynamic适用参数)。

pm.start_servers = 5:在启动时启动的子进程数量

pm.min_spare_servers: 处于空闲"idle"状态的最小子进程,如果空闲进程数量小于这个值,那么相应的子进程会被创建

pm.max_spare_servers: 最大空闲子进程数量,空闲子进程数量超过这个值,那么相应的子进程会被杀掉。

##3.NFS配置

#php作为NFS主机

#创建php文件夹,并挂载到nginx端。挂载位置是nginx端的根目录(我是/usr/local/nginx/html/)

#3.mysql端配置

##1.mysql安装略

##2.建立一个数据库

create database wordpress;

##3.创建mysql账号,并给php的端口开放权限

grant all privileges on wordpress.* to 'wordpress'@'192.168.126.131' IDENTIFIED BY 'Jsxhxhj123!';

#4.测试连接

##1.nginx端和php端

php创建测试脚本

mkdir /usr/local/php5/apps vim /usr/local/php5/apps/index.php <?php phpinfo(); ?>

之后让nginx端访问

##2.php端和mysql端

php端建立测试文件

cat  /usr/local/php5/app/index.php <?php mysql_connect('192.168.10.201','wordpress','Qfedu2203.') or die('failed'); echo 'success' ; ?>

nginx端访问,如果显示“success”即为配置成功

#5.php端部署wordpress

##1.下载wordpress并解压到php存储目录

##2.访问nginx端ip地址进行应用安装

##3.安装过程中可能出现“抱歉,我不能写入wp-config.php文件”

手动在php存储目录(也就是和nginx同步的那个目录)创建一个wp-config.php,并将提示信息中的设置粘贴进去,然后加上“?>”


nginx LNMP架构配置与动静分离的评论 (共 条)

分享到微博请遵守国家法律