Docker部署Nginx個性化服務配置

部署環境

項目 說明
操做系統 macOS Catalina
安裝軟件 Docker

macOS或者windows直接在docker官網下載對應的桌面版進行安裝, Linux服務器可查看Linux Docker 安裝官方安裝指南html

配置文件

建立須要的文件夾

mkdir -p ~/docker-nginx/{conf,conf.d,log,html}
複製代碼
目錄 說明
conf 存放nginx缺省配置文件
conf.d 存放nginx各個服務配置文件
log 存放log配置文件
html 存放前端打包的發佈文件

新增nginx配置文件

在~/docker-nginx/conf/目錄下新增==nginx.conf==
vi ~/docker-nginx/conf/nginx.conf
複製代碼
user  nginx;
# 工做進程數 缺省爲1; CPU核心數,(雙核4線程,能夠設置爲4)
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
  worker_connections  1024;
}

http {
  include            /etc/nginx/mime.types;
  default_type       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"';
  access_log         /var/log/nginx/access.log  main;
  sendfile           on;
  keepalive_timeout  65;
  # 會掃描/etc/nginx/conf.d/文件夾下面全部的配置文件
  include            /etc/nginx/conf.d/*.conf;
}
複製代碼
在~/docker-nginx/conf.d/目錄下新增==default.conf==
vi ~/docker-nginx/conf.d/default.conf
複製代碼
server {
    listen       80;
    # localhost 在發佈時修改爲對應的域名
    server_name  localhost;

    #charset koi8-r;
    #access_log /var/log/nginx/host.access.log main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    # 反向代理配置,此配置可實現跨域,後端負載均衡等需求
    location /api {
        proxy_pass http://xxx.xxx.xxx.xxx:8080;
        # access_log "logs/test.log";
    }
}
複製代碼

啓動容器

執行下面的命令在啓動容器時會自動pull NGINX鏡像前端

docker run --name myNginx \
-d -p 80:80 \
-v ~/docker-nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v ~/docker-nginx/conf.d:/etc/nginx/conf.d \
-v ~/docker-nginx/log:/var/log/nginx \
-v ~/docker-nginx/html:/usr/share/nginx/html \
nginx
複製代碼

將前端打包的待發布的文件copy到~/docker-nginx/html 這裏以vue項目爲例將dist中的內容複製到html文件夾下 vue

前端工程打包輸出文件
html
在瀏覽器訪問http://localhost:80
訪問效果

總結

Docker啓動Nginx須要關注3個須要掛載出來的路徑linux

分別存放了nginx

  • 服務配置文件
  • 服務log輸出文件夾(方便運維)
  • 前端發佈文件
相關文章
相關標籤/搜索