Download & Install
https://nginx.org/en/download.html
docker安装:
- 先创建一个nginx容器
docker run -d --name=nginx --restart unless-stopped nginx:latest
- 拷贝容器内的配置到本地
docker cp nginx:/etc/nginx /mnt/sda1/dockers/nginx
- 删除容器
docker rm -f nginx
- 创建一个开放8080,8081端口,映射本地配置的容器
1
2
3
4
5
6
7
|
docker run -d \
--name=nginx \
-p 8080:8080 \
-p 8081:8081 \
-v /mnt/sda1/dockers/nginx/conf.d:/etc/nginx/conf.d \
--restart unless-stopped \
nginx:latest
|
配置文件路径:
- 本地:
/mnt/sda1/dockers/nginx/conf.d/default.conf
- docker内部:
/etc/nginx/conf.d/default.conf
指向本地的文件夹
1
2
3
4
5
6
7
8
9
|
server {
listen 8081;
server_name localhost;
location / {
root /etc/nginx/sites;
index index.html;
}
}
|
浏览器访问 http://docker_ip:8081
反向代理http
可以域名不同,但端口号相同
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
|
server {
listen 8080;
listen [::]:8080;
server_name sites.ifelse01.top;
location / {
proxy_pass http://192.168.50.4:23000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 8080;
listen [::]:8080;
server_name adminer.ifelse01.top;
location / {
proxy_pass http://192.168.50.3:28080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
|
浏览器分别访问 sites.ifelse01.top, adminer.ifelse01.top
反向代理https
可以域名不同,但端口号相同
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
server {
listen 8080 ssl; # 增加ssl
listen [::]:8080 ssl; # 增加ssl
server_name pwd.ifelse01.top;
# ssl证书的pem文件路径: /etc/nginx/cert/***
ssl_certificate ./cert/ifelse01.top.pem;
# ssl证书的key文件路径
ssl_certificate_key ./cert/ifelse01.top.key;
location = /identity/accounts/prelogin {
rewrite ^/identity/accounts/prelogin$ /api/accounts/prelogin;
}
location / {
proxy_pass http://192.168.50.4:480;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
|
url的二级目录指向另外的文件夹
主要是alias的使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
server {
listen 8080;
listen [::]:8080;
server_name sites.ifelse01.top;
location ^~ /sites {
alias /etc/nginx/sites;
index index.html;
}
location / {
proxy_pass http://192.168.50.4:23000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
|