[toc]

环境规划

环境结构

image-20221216155734980

环境准备

主机名 WANIP LANIP 角色 安装应用
web01 10.0.0.7 172.16.1.7 web网站 nginx php
web02 10.0.0.8 172.16.1.8 web网站 nginx php
db01 10.0.0.51 172.16.1.51 数据库 mysql(mariadb)

开始部署

部署web02

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# 添加yum源
scp /etc/yum.repos.d/nginx.repo 10.0.0.8:/etc/yum.repos.d/

# 生成缓存
yum makecache

# 安装nginx
yum install -y nginx

# 安装php
yum install -y php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71wopcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
## 手动安装php的rpm包
rpm -ivh *.rpm

# 添加www用户和组
groupadd www -g 666
useradd www -u 666 -g 666 -s /sbin/nologin/ -M

# 修改nginx启动文件和php启动文件
vim /etc/nginx/nginx.conf
user www

vim /etc/php-fpm.d/www.conf
[www]
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = www
; RPM: Keep a group allowed to write in log dir.
group = www

;listen = 127.0.0.1:9000
listen = /opt/xxx.sock
listen.owner = www
listen.group = www

# 启动nginx和php并加入开机自启
systemctl start nginx && systemctl start php-fpm
systemctl enable nginx && systemctl enable php-fpm

# 编辑配置文件
web01:scp /etc/nginx/conf.d/blog.conf 10.0.0.8:/etc/nginx/conf.d/
server {
listen 80;
server_name blog.niu.com;
root /code/wordpress;

location / {
index index.php index.html;
}

location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/opt/xxx.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}

# 创建站点目录
mkdir /code

# 复制wordpress目录至10.0.0.8
web01: scp -r /code/wordpress/ 10.0.0.8:/code

# 授权
chown -R www:www /code/wordpress

# 本地域名解析
10.0.0.8 blog.niu.com

php本地连接优化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 在php配置文件中加入sock路径
vim /etc/php-fpm.d/www.conf

[www]
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = www
; RPM: Keep a group allowed to write in log dir.
group = www

;listen = 127.0.0.1:9000
listen = /opt/xxx.sock # 指定sock文件路径
listen.owner = www
listen.group = www

# 重启php服务
systemctl restart php-fpm
## 自动生成sock文件

# 修改nginx配置文件
vim /etc/nginx/conf.d/blog.conf

server {
listen 80;
server_name blog.niu.com;
root /code/wordpress;

location / {
index index.php index.html;
}

location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/opt/xxx.sock; # 指定sock文件路径
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}

location优先级

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# location匹配语句及优先级
= # 精准匹配 1
^~ # 以某个字符集开头的正则匹配 2
~ # 区分大小写得我正则匹配 3
~* # 不区分大小写的正则匹配 4
!~ # 区分大小写的不匹配正则 5
!~* # 不区分大小写的不匹配的正则 6
/ # 通用匹配 ,任何请求都会被匹配到

# 任何请求都会被匹配到
location / {

}

# 区分大小写 匹配以.xml结尾
location ~ \.xml${

}

# 不区分大小写
location ~* "\.(sql|bak|tar.gz|git)$ " {

}

WordPress本地安装QQ主题插件

1
2
3
4
5
6
7
8
9
10
# WordPress本地安装主题插件会报错413
产生这种原因是因为服务器限制了上传大小 !
站点采用了基于Nginx代理的WordPress,所以出现413这种错误,是因为Nginx服务端配置的问题。

# 修改nginx.conf的值
vim /etc/nginx/conf.d/test_php.conf

client_max_body_size 20M;

# 点击添加新主题,上传即可进行安装

image-20221216180913556