CentOS8環境下利用Docker進行Nginx部署
阿新 • • 發佈:2022-12-09
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協議 |