mac或者linux通過docker管理nginx部署靜態(tài)文件

1這里的nginx是使用docker管理的,管理很簡單。直接在終端執(zhí)行

docker pull nginx

執(zhí)行該命令以后會默認(rèn)獲取nginx最新版本。

pull下來以后為了方便管理可以使用一下命令創(chuàng)建一下幾個(gè)文件夾:

mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf

該命令是在當(dāng)前用戶的目錄下創(chuàng)建nginx文件夾,以及在nginx文件夾里創(chuàng)建 www logs conf 這三個(gè)文件夾,如下:

image.png

三個(gè)目錄的作用:

www:用來存放靜態(tài)文件

logs:用來存放日志文件

conf:用來存放配置文件

這里創(chuàng)建這幾個(gè)目錄是為了通過docker的目錄映射(-v)來更方便的管理nginx

docker執(zhí)行以上的pull操作以后運(yùn)行的目錄如下:

docker run -d -p 80:80 -v /root/nginx/conf/nginx.conf:/etc/nginx/conf.d/nginx.conf -v /root/nginx/logs:/var/log/nginx -v /root/nginx/www:/usr/share/nginx/html --name my_nginx nginx

-d:后臺啟動(dòng)

-p 80:80 端口映射

-v 目錄映射,格式:宿主機(jī)目錄:容器內(nèi)目錄,這里nginx.conf需要指定到該文件,而不能像后面的www那?樣映射所在文件夾

--name my_nginx:指定run起來的container的名字,不指定的話docker會隨機(jī)創(chuàng)建

這里需要注意的就是

-v /root/nginx/www:/usr/share/nginx/html

這里必須要把靜態(tài)文件所在的目錄映射到

/usr/share/nginx/html

文件夾下面。

這里如果是映射到別的目錄,會提示該文件找不到。此時(shí)可以查看logs文件夾下的error.log :

image.png

這里會告訴我們/usr/share/nginx/html/下的test.html(頁面訪問的文件名),說明nginx默認(rèn)的訪問路徑是 /usr/share/nginx/html,所以需要把www目錄映射到此目錄。

至此,只需要把靜態(tài)文件放到 ~/nginx/www 文件夾下,即可用過 ip/filename的方式訪問到文件。例如:

我www/下面有個(gè)test.html 則可以通過 http://localhost/test.html訪問到。

如果www/demo/index.html 則通過 http://localhost/demo/index.html訪問到

這里需要注意一點(diǎn)的就是:

通過以上目錄映射的方式啟動(dòng)nginx以后 直接輸入IP會提示 403.因?yàn)閚ginx默認(rèn)會顯示index.html,而 ~/nginx/www/文件夾下并沒有該文件,自己在該目錄下新建一個(gè) index.html 文件即可

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

相關(guān)閱讀更多精彩內(nèi)容

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