user root; # 使用root用户运行Nginx,注释:设置Nginx以root用户身份运行,潜在安全风险,建议使用非特权用户
worker_processes 1; # 启动1个worker进程,注释:指定启动1个worker进程处理请求,适用于简单的应用场景
#error_log logs/error.log; # 错误日志默认路径,注释:默认错误日志路径
#error_log logs/error.log notice; # 错误日志记录级别为notice,注释:设置错误日志记录级别为notice
#error_log logs/error.log info; # 错误日志记录级别为info,注释:设置错误日志记录级别为info
#pid logs/nginx.pid; # Nginx进程ID文件路径,注释:指定Nginx进程ID文件路径
events {
worker_connections 1024; # 每个worker进程最大连接数为1024,注释:设置每个worker进程的最大连接数为1024
}
http {
include mime.types; # 包含mime.types文件,注释:包含mime.types文件用于设置MIME类型
default_type application/octet-stream; # 默认MIME类型,注释:设置默认的MIME类型为application/octet-stream
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; # 日志格式设置,注释:定义日志格式为main
access_log /meta/logs/access.log main; # 访问日志路径及格式,注释:指定访问日志路径和格式为main
error_log /meta/logs/error.log; # 错误日志路径,注释:指定错误日志路径
sendfile on; # 启用sendfile功能,注释:启用sendfile功能提高文件传输效率
#tcp_nopush on; # 启用tcp_nopush功能
#keepalive_timeout 0; # keepalive超时时间为0
keepalive_timeout 300s; # keepalive超时时间为300秒,注释:设置keepalive超时时间为300秒
gzip on; # 启用gzip压缩,注释:启用gzip压缩功能
upstream yzdpserver {
server 192.168.16.119:8080; # 定义上游服务器地址和端口,注释:定义上游服务器地址和端口
}
server {
listen 80; # 监听80端口
server_name localhost; # 服务器名为localhost
#rewrite ^(.*)$ https://$host$1 permanent; # 重定向配置,注释:重定向所有请求到https
client_max_body_size 1024M; # 设置客户端请求体最大大小为1024M,注释:设置客户端请求体最大大小为1GB
location / {
root /meta/yzdp; # 根路径指向/meta/yzdp
try_files $uri /index.html; # 尝试查找当前URI对应的文件,找不到则重定向到/index.html
index index.html index.htm; # 设置默认索引文件为index.html和index.htm
}
location /api {
proxy_redirect off; # 关闭代理重定向
proxy_set_header Host $host; # 设置代理请求头Host
proxy_set_header X-Real-IP $remote_addr; # 设置代理请求头X-Real-IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 设置代理请求头X-Forwarded-For
proxy_pass http://192.168.16.119:8080/; # 代理转发到http://192.168.16.119:8080/
proxy_connect_timeout 300; # 设置代理连接超时时间为300秒
proxy_read_timeout 300; # 设置代理读取超时时间为300秒
}
error_page 500 502 503 504 /50x.html; # 定义错误页面处理
location = /50x.html {
root html;
}
}
# HTTPS server
#server {
# listen 443 ssl;
# server_name www.jiguangeye.com;
#
# ssl_certificate /ssl/cert.pem;
# ssl_certificate_key /ssl/cert.key;
#
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
#
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
#
# location / {
# root /xh/fd;
# try_files $uri $uri/ /index.html;
# index index.html index.htm;
# }
#}
}
上面是ngxin配置
下面是docker配置:
start.sh
docker run -d \
--name yzdp-web \ # 容器名称为yzdp-web
-p 80:80 \ # 将容器的80端口映射到宿主机的80端口
-m 500m \ # 限制容器内存为500MB
--privileged=true \ # 启用特权模式,具有更高的操作权限
--restart=always \ # 容器退出时自动重启
-v /home/yzdp/ui/conf/nginx.conf:/etc/nginx/nginx.conf \ # 挂载宿主机上的nginx配置文件到容器内的对应路径
-v /home/yzdp/ui/logs:/meta/logs \ # 挂载宿主机上的日志目录到容器内的对应路径
-v /home/yzdp/ui/dist:/meta/yzdp \ # 挂载宿主机上的前端资源目录到容器内的对应路径
nginx:latest # 使用最新版本的nginx镜像运行容器
还有clean.sh
docker stop yzdp-web; # 停止名称为yzdp-web的容器
docker rm yzdp-web; # 删除名称为yzdp-web的容器
文件夹结构是什么
部署的时候进入ui文件夹,然后按顺序启动 clean,sh和start.sh即可