1.上传nginx镜像到服务器
文档:nginx.tar
链接:https://note.youdao.com/ynoteshare/index.html?id=fe9ea0b1c4008cb5af5a12b2bd45ceac&type=note&_time=1643004358884
这里上传到/home/docker/nginx.tar
2.导入镜像
cd /home/docker
docker load --input nginx.tar
3.创建nginx的配置文件ngin.conf(见文档底部)
一般是本地写好配置文件上传到服务器/home/docker
4.创建并启动容器
docker run -p 80:80 -p 8001:8001 -v /home/docker/nginx.conf:/etc/nginx/nginx.conf -v /home/app/myweb1:/home/app/myweb1 -v /home/app/myweb2:/home/app/myweb2 -d --name mynginx nginx:1.21.5
这里映射了了两个端口,分别对应nginx的两个server服务
将容器内部的nginx配置文件挂载到宿主机我们上一步上传的配置文件上(如果运行出错多半是这一步配置有问题)
5.将前端编译后的页面文件上传到 /home/app 下
6.更改配置nginx 修改以下文件
/home/shitu/nginx/nginx.conf
重启nginx docker restart mynginx
查看nginx状态 docker status mynginx
停止 docker stop mynginx
启动 docker start mynginx
删除容器 docker rm mynginx
7.一个简陋的nginx.conf
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile off;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_disable “MSIE [1-6].”;
client_header_buffer_size 128k;
large_client_header_buffers 4 128k;
#client_body_buffer_size 102400k;
#client_max_body_size 1024l;
client_body_temp_path /home/nginxhc/;
#第一个前端服务
server
{
listen 80;
server_name 127.0.0.1;
index index.html index.htm;
#第一个前端代码存放位置
root /home/app/myweb1;
#后端接口转发
location /api/ {
proxy_pass http://127.0.0.1:8000/;
}
error_page 500 502 503 504 /50x/html;
location = /50x.html {
root html;
}
}
#第二个前端服务
server
{
listen 8001;
server_name 127.0.0.1;
index index.html index.htm;
#第二个前端代码存放位置
root /home/app/myweb2;
#后端接口转发
location /api/ {
proxy_pass http://127.0.0.1:8000/;
}
error_page 500 502 503 504 /50x/html;
location = /50x.html {
root html;
}
}
}