nginx部署网站
启停 Nginx 服务
$ sudo systemctl enable nginx # 设置开机启动
$ sudo service nginx start # 启动 nginx 服务
$ sudo service nginx stop # 停止 nginx 服务
$ sudo service nginx restart # 重启 nginx 服务
$ sudo service nginx reload # 重新加载配置,一般是在修改过 nginx 配置文件时使用。
1
2
3
4
5
2
3
4
5
# 查看配置文件 nginx.conf 路径 并检测 配置文件是否有错误
nginx -t
1
# 查看错误日志
先找到nginx -t 找到配置文件位置
然后 vi /etc/nginx/nginx.conf
可以看到配置文件地址
然后
vi /var/log/nginx/error.log
# 编辑 nginx 个人配置
上图是 centos 安装 latest 的 nginx 后的默认配置
这句的语义是默认读取 conf.d 文件夹下的所有配置
所以可以直接在 conf.d 下新建一个*.conf 文件来配置,而不用修改主文件 nginx.conf
这里我新建了一个 espe.conf 文件,用于个人配置
vim /etc/nginx/conf.d/espe.conf
# 编辑后 reload生效
sudo service nginx reload
1
2
3
2
3
# 上传 https 证书到 nginx
一般默认为 cert 目录
# espe.work证书
scp /Users/xinyun/Downloads/espe.work/Nginx/1_espe.work_bundle.crt root@162.14.118.95:/etc/nginx/cert/
scp /Users/xinyun/Downloads/espe.work/Nginx/2_espe.work.key root@162.14.118.95:/etc/nginx/cert/
# xingyun.espe.work证书
scp /Users/xinyun/gcy/xingyun.espe.work_nginx/xingyun.espe.work_bundle.crt root@162.14.118.95:/etc/nginx/cert/
scp /Users/xinyun/gcy/xingyun.espe.work_nginx/xingyun.espe.work.key root@162.14.118.95:/etc/nginx/cert/
1
2
3
4
5
6
7
2
3
4
5
6
7
# 一台服务器一个 nginx 为两个网页应用提供服务
# 网站1
server {
listen 80;
server_name www.espe.work;
listen 443;
server_name www.espe.work;
root /usr/share/nginx/html/dist;
ssl on;
# https ssl证书
ssl_certificate /etc/nginx/cert/1_espe.work_bundle.crt;
ssl_certificate_key /etc/nginx/cert/2_espe.work.key;
location / {
# proxy_pass http://localhost:8080;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
# 网站2
server {
listen 80;
server_name xingyun.espe.work;
listen 443;
server_name xingyun.espe.work;
root /usr/share/nginx/html/webView;
ssl on;
ssl_certificate /etc/nginx/cert/xingyun.espe.work_bundle.crt;
ssl_certificate_key /etc/nginx/cert/xingyun.espe.work.key;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
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
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
# Nginx 配置反向代理去除前缀
使用 Nginx 做反向代理的时候如果需要根据不同的 url 代理到不同的服务器,需要通过以下法:
地址后面加/
server {
location ^~/v1/ {
proxy_pass http://localhost:8080/; # 尾部加了 / 表示将去除前缀
}
}
1
2
3
4
5
2
3
4
5
^~/v1/表示请求前缀是 v1 的请求,proxy_pass 最后加上/,就会把 v1 去除,比如请求的地址是 v1/api/test,则代理发出的请求是http://localhost:8080/api/test
# 前后端分离部署的项目配置文件 example
server {
listen 80;
server_name demo.espe.work;
root /usr/share/nginx/html/demo/dist;
location / {
root /usr/share/nginx/html/demo/dist; # 静态资源都交给nginx部署 性能高 稳定
index index.html;
}
location /api/ {
proxy_pass http://127.0.0.1:3000/; # api 前缀的接口 走后端 后端部署在服务器的3000端口
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
上次更新: 2023/04/05, 09:41:10