centos 7.6 环境 docker nginx 的安装步骤
# 创建挂载目录
mkdir -p /root/nginx/conf
mkdir -p /root/nginx/log
mkdir -p /root/nginx/html
docker run --name nginx -p 8000:8000 -p 8080:8080 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /root/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /root/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /root/nginx/
docker stop nginx & docker rm nginx #删除原来的
#创建带有挂在目录的
docker run \
-p 8000:8000 \
-p 8080:8080 \
--name nginx \
-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /root/nginx/log:/var/log/nginx \
-v /root/nginx/html:/usr/share/nginx/html \
-d nginx:latest
配置网站
# 此nginx配置默认项目放在服务器的 /opt 目录下,前端默认端口为 8080,后端为8000,如需修改请自行对照修改
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;server {
listen 80 default_server;
server_name _;
return 404;
}
# 前端配置
server {
listen 8080;
client_max_body_size 100M;
server_name dvadmin-web;
charset utf-8;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
root /opt/django-vue-admin/web/dist;
index index.html index.php index.htm;
}
# 后端服务
location /api {
root html/www;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
rewrite ^/api/(.*)$ /$1 break; #重写
proxy_pass http://127.0.0.1:8000;
}
# Django media
location /media {
root /opt/django-vue-admin/backend; # your Django project's media files - amend as required
}
# Django static
location /static {
root /opt/django-vue-admin/backend; # your Django project's static files - amend as required
}
#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
}
}