1. 程式人生 > 其它 >CentOS8環境下利用Docker進行Nginx部署

CentOS8環境下利用Docker進行Nginx部署

1. Docker容器部署示例(Nginx)

docker run --name yikedaxue -p 3160:80 \ #容器命名為yikedaxue,將內部埠80對映到外部埠3160
-v /usr/share/nginx/nginx-conf/yike/nginx.conf:/etc/nginx/nginx.conf  \ #將指定目錄的nginx配置檔案掛載
-v /usr/share/nginx/vue/yikedaxue:/yike  \ #將指定目錄的靜態網頁掛載
-v /usr/share/nginx/nginx-conf/yike/logs:/etc/nginx/logs \  #將指定目錄的nginx日誌檔案掛載
-d nginx #映象選擇為nginx

1.1 Docker其他指令

docker search 映象名            #從網路搜尋指定映象
docker pull 映象名:版本           #從網路抓取指定映象
docker images                #檢視本機已裝載的映象
docker rmi 映象名:版本  映象名:版本     #刪除指定映象/多個指定映象
docker rmi -f $(docker images -qa)     #刪除全部映象
docker start 容器名             #啟動指定容器
docker stop 容器名              #停止指定容器
docker restart 容器名            #重啟指定容器
docker rm 容器名               #刪除指定容器,-f可強制刪除
docker exec -it 容器名 /bin/bash     #進入指定容器並用命令進行互動

1.2 Nginx配置檔案示例

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx; #設定nginx服務的系統使用使用者
worker_processes auto; #自動工作程序數
error_log /var/log/nginx/error.log; #設定錯誤日誌路徑
pid /run/nginx.pid; #設定pid路徑

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules
/*.conf; #設定元件路徑 events { worker_connections 1024; #單個程序最大併發數為1024 } http { #設定日誌模式 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; # 開啟高效檔案傳輸模式 tcp_nopush on; # 防止網路阻塞 tcp_nodelay on; # 防止網路阻塞 keepalive_timeout 65; # 客戶端未響應65毫秒後超時 types_hash_max_size 2048; # 最大連線數為2048 include /etc/nginx/mime.types; #設定副檔名和型別對映表 default_type application/octet-stream; #設定預設檔案型別 include /etc/nginx/conf.d/*.conf; #設定子配置檔案路徑 server { listen 80 default_server; #配置監聽埠 listen [::]:80 default_server; #配置外網訪問埠 server_name _; #配置監聽域名,“_”符號表示無 #配置請求的路由 location / { root /****/; #代理檔案目錄 index index.html; #首頁檔案 } error_page 404 /404.html; #錯誤狀態碼顯示頁面 #配置請求的路由 location = /40x.html { } error_page 500 502 503 504 /50x.html; #錯誤狀態碼顯示頁面 #配置請求的路由 location = /50x.html { } } }

1.2.2 Nginx常用全域性變數

變數名

功能

Host

請求資訊中的host,如果請求中沒有host行,則等於設定的伺服器名

Request_method

客戶端請求的型別,如GET 、POST

Remote_addr

客戶端的IP地址

Args

請求中的引數

Content_length

請求頭中的Content_length欄位

Http_user_agent

客戶端agent資訊

Http_cookie

客戶端cookie資訊

Remote_port

客戶端的埠

Server_protocol

請求使用的協議,如HTTP/1.0、HTTP/1.1\

Server_addr

伺服器地址

Server_name

伺服器名稱

Server_port

伺服器的埠號

Remote_user

記錄客戶端使用者名稱稱

Request

記錄請求的url與http協議