1. 程式人生 > 實用技巧 >Docker執行nginx檔案伺服器詳細配置

Docker執行nginx檔案伺服器詳細配置

nginx.conf

user  root;
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; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*
.conf; }

將nginx啟動使用者修改為root,否則會存在檔案許可權問題

nginx-file-server.conf

server {
    listen 8081; #埠
    server_name localhost; #服務名
    charset utf-8; # 避免中文亂碼
    root /data; #顯示的根索引目錄,注意這裡要改成你自己的,目錄要存在

    location / {
        autoindex on;             #開啟索引功能
        autoindex_exact_size off; # 關閉計算檔案確切大小(單位bytes),只顯示大概大小(單位kb、mb、gb)
        autoindex_localtime on;   # 顯示本機時間而非 GMT 時間
    }
}

啟用8081作為檔案伺服器埠

執行命令:

docker run -d -p 8081:8081 --name file-server -v $(pwd):/data -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf -v $(pwd)/nginx-file-server.conf:/etc/nginx/conf.d/nginx-file-server.conf nginx

命令將宿主的當前目錄掛載到容器的/data目錄,並掛載conf配置檔案,啟動nginx

或者直接執行以下命令

curl -s https://files-cdn.cnblogs.com/files/nihaorz/start-nginx-file-server.sh | bash