最新版的 nginx 必須與 2.0 版以上的 uwsgi 配合, 否則無法啟動.
這是發生在編號 103 HP 伺服器上的問題, 透過查驗, 才知道, 其實在各種協同合作模式中, 必須了解細節才能解決問題.
2015.11.03 情況: IPV4 與 IPV6 都可以 SSH, 因此從遠端進入, 開始尋找為何 nginx 與 uwsgi 無法正常結合運作.
首先新增管理者用戶:
1 2 | sudo adduser username sudo visudo |
將 username 納為可以執行 sudo 的帳號
在 %sudo 行下增加一行, 然後按下 Ctrl+O, 再按 Enter
經過 uwsgi 版次查驗, 發現透過 sudo apt-get install uwsgi 所安裝的版本為 1.9.17.1 版, 必須設法轉為 2.0 以上版本
版本查驗:
1 | uwsgi --version |
結果為 1.9.17.1-debian, 必須改為 2.0.11.2, 否則無法與 nginx 結合
移除利用 sudo apt-get install uwsgi 安裝的 1.9.17.1 版的 uswgi
1 | sudo apt-get remove uwsgi |
準備利用 pip3 安裝 uwsgi 其中必須執行 c 程式編譯, 因此必須安裝 build-essential 與 python3-dev
1 | sudo apt-get install build-essential python3-dev |
接著利用 pip3 安裝 uwsgi
1 | sudo pip3 install uwsgi |
利用 which uwsgi 找到 2.0.11.2 版的 uwsgi 位於 /usr/local/bin/uwsgi
因為 /etc/alternatives/uwsgi 指向 /usr/bin/uwsgi-core 為舊版, 因此必須重新設定 symbolic link, 讓 uwsgi 指令指到 2.0 版本.
1 2 3 | cd /etc/alternatives sudo rm uwsgi (刪除舊的 symbolic link) sudo ln -s /usr/local/bin/uwsgi uwsgi (將新的 /usr/local/bin/uwsgi 對應到 uwsgi) |
完成後執行:
1 | sudo service uwsgi restart |
就可順利啟動 nginx 中所對應設定的 CMSimply
Comments
comments powered by Disqus