今天蹲坑時突然想起服務(wù)器還有個站點沒掛上去,結(jié)果折騰nginx虛擬主機配置差點把鍵盤摔了。本來尋思三分鐘搞定的事兒,硬是卡了兩個鐘頭,必須把踩的坑記下來給大伙避雷。
照著手冊新建了個.conf文件,噼里啪敲完配置重啟nginx,滿心等著新站點亮相。結(jié)果瀏覽器一開,臥槽直接報502!當時就蒙了:這特么不是基礎(chǔ)操作嗎?
先把*拍臉上:
1. 解決文件夾不讓碰氣沖沖敲了句 ls -ld /var/www/new_site,發(fā)現(xiàn)目錄屬主居然是root。nginx這窮小子根本不讓碰!直接甩命令:
sudo chown -R nginx:nginx /var/www/new_site完事兒再試還是跪,突然想起來SELinux這尊大佛。趕緊setenforce 0暫時關(guān)防火墻,頁面噌就跳出來了。
2. 解決端口打架netstat -tulnp grep :80 一查,好家伙倆server塊都在搶80端口。翻配置文件果然發(fā)現(xiàn):
當場給新站點改成 listen 81,順手在配置里補上server_name *,重啟完終于不報錯了。
正嘚瑟,同事說訪問舊站點直接跳新頁面了!冷汗唰就下來了——原來忘記在舊配置里寫 server_name *。nginx這二傻子把所有沒標名字的請求全懟到第一個server塊了。
在舊配置補上關(guān)鍵兩行:
server_name *;
return 301 https://$host$request_uri;
現(xiàn)在看著倆站點并排跑,感覺自己像剛修好漏水水管的物業(yè)大爺。配置nginx就跟帶娃似的,少交代半句它就給你捅婁子!
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。