Nginx实现web架构
企业中网站架构
LNMP:Linux Nginx MySQL PHP
LAMP:Linux Apache MySQL PHP
LNMT:Linux Nginx MySQL Tomcat
LAMT:Linux Apache MySQL Tomcat
Nginx && Apache
运行:html css js
PHP:运行php代码
Tomcat:运行Java代码
部署PHP
# 1.卸载Linux自带的旧版本php
[root@web01 ~]# yum remove php-mysql-5.4 php php-fpm php-common
# 2.添加php第三方源
[root@nginx ~]# vim /etc/yum.repos.d/php.repo
[php-webtatic]
name = PHP Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0
# 3.安装php
[root@web01 ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
# 4.创建用户
[root@web01 ~]# groupadd www -g 666
[root@web01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
# 5.修改nginx运行用户
[root@web01 ~]# vim /etc/nginx/nginx.conf
user apache 改成
user www
## php-fpm作用:用来管理php程序运行
# php相关配置文件
/etc/php-fpm.conf # php管理进程配置文件
/etc/php.ini # php程序配置文件
/etc/php-fpm.d/www.conf # php管理进程的子配置文件
# 6.修改php的启动用户
[root@web01 ~]# vim /etc/php-fpm.d/www.conf
[www]
user = www
group = www
# 7.启动php并加入开机自启
[root@web01 ~]# systemctl start php-fpm
[root@web01 ~]# systemctl enable php-fpm
# 8.检查php进程和端口
[root@web01 ~]# ps -ef | grep php
root 4532 1 0 11:45 ? 00:00:00 php-fpm: master process (/etc/php-fpm.conf)
www 4533 4532 0 11:45 ? 00:00:00 php-fpm: pool www
www 4534 4532 0 11:45 ? 00:00:00 php-fpm: pool www
www 4535 4532 0 11:45 ? 00:00:00 php-fpm: pool www
www 4536 4532 0 11:45 ? 00:00:00 php-fpm: pool www
www 4537 4532 0 11:45 ? 00:00:00 php-fpm: pool www
root 4579 3078 0 11:49 pts/0 00:00:00 grep --color=auto php
[root@web01 ~]# netstat -lntup | grep php
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 4532/php-fpm: maste
# 9.修改站点目录的属主和属组
[root@web01 code]# ll -d
drwxr-xr-x 2 root root 102 Jun 7 13:36 .
[root@web01 code]# chown www:www code/
[root@web01 /]# ll code/ -d
drwxr-xr-x 2 www www 102 Jun 7 13:36 code/

配置nginx连接php
[root@web01 ~]# vim /etc/nginx/conf.d/wsh.conf
server{
listen 80;
server_name www.wsh.com;
location /{
root /code;
index index.html;
}
location ~ \.php$ {
root /code;
## nginx调用本机的9000端口(php-fpm程序)
fastcgi_pass 127.0.0.1:9000;
## 用php程序,解析哪个目录下的哪个.php的文件
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
## 包含php变量的文件
include /etc/nginx/fastcgi_params;
}
}

[root@web01 ~]# cd /code/user_data/
[root@web01 user_data]# ls
2_2_1_1_QQ仙侠传账号买卖协议(第三版).pdf