Docker部署Nginx個(gè)性化服務(wù)配置

部署環(huán)境

項(xiàng)目 說明
操作系統(tǒng) macOS Catalina
安裝軟件 Docker

macOS或者windows直接在docker官網(wǎng)下載對(duì)應(yīng)的桌面版進(jìn)行安裝,
Linux服務(wù)器可查看Linux Docker 安裝官方安裝指南

配置文件

創(chuàng)建需要的文件夾

mkdir -p ~/docker-nginx/{conf,conf.d,log,html}
目錄 說明
conf 存放nginx缺省配置文件
conf.d 存放nginx各個(gè)服務(wù)配置文件
log 存放log配置文件
html 存放前端打包的發(fā)布文件

新增nginx配置文件

在~/docker-nginx/conf/目錄下新增==nginx.conf==
vi ~/docker-nginx/conf/nginx.conf
user  nginx;
# 工作進(jìn)程數(shù) 缺省為1; CPU核心數(shù),(雙核4線程,可以設(shè)置為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;
  # 會(huì)掃描/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 在發(fā)布時(shí)修改成對(duì)應(yīng)的域名
    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;
    }
    # 反向代理配置,此配置可實(shí)現(xiàn)跨域,后端負(fù)載均衡等需求
    location /api {
        proxy_pass http://xxx.xxx.xxx.xxx:8080;
        # access_log "logs/test.log";
    }
}

啟動(dòng)容器

執(zhí)行下面的命令在啟動(dòng)容器時(shí)會(huì)自動(dòng)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

將前端打包的待發(fā)布的文件copy到~/docker-nginx/html
這里以vue項(xiàng)目為例將dist中的內(nèi)容復(fù)制到html文件夾下

前端工程打包輸出文件

html

在瀏覽器訪問http://localhost:80
訪問效果

總結(jié)

Docker啟動(dòng)Nginx需要關(guān)注3個(gè)需要掛載出來的路徑

分別存放了

  • 服務(wù)配置文件
  • 服務(wù)log輸出文件夾(方便運(yùn)維)
  • 前端發(fā)布文件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容