天天看點

Centos Nginx + django + uwsgi(附 centos Python 安裝)

2018/8/21

其實由于 Nginx 實際上存在很多版本,而且不同安裝方法或者相同的安裝方法不同的 linux 于檔案目錄都會有所不同,是以其實固定一種安裝方法可以讓配置變得更加穩定,并能從網上找到對應的攻略。

不管是哪一個版本的 linux,都建議先更新自帶的安裝工具。

三者聯合安裝方式如下親測可用:

https://www.cnblogs.com/levelksk/p/7921066.html

通過 tar 方法安裝的 nginx 檔案夾目錄應該會相對固定,踩了這麼多坑之後十分推薦這種安裝方法。

注意,很多 linux 伺服器自帶 nginx,是以新的 nginx 可能在檔案夾上會帶上版本号。

  • 比如 : /usr/local/nginx-1.13.7
  • 關于 Nginx 安裝這裡有詳細解釋 https://www.cnblogs.com/dongye95/p/11196118.html

另外,用包安裝的 nginx 可能不會自帶 ssl,是以需要在編譯的時候加上。

  • ./configure --prefix=/usr/local/nginx-1.13.7 --with-http_ssl_module --with-http_v2_module --with-pcre

Centos下 Python 安裝:

https://www.cnblogs.com/ESHLkangi/p/8545979.html

如果想要環境安全可控,強烈建議:

  • python3 -m venv pyenv 建立虛拟環境
  • source pyenv/bin/activate 開啟虛拟環境
  • 如果以上兩個指令無法使用,請增加拓展包友善操作 https://blog.csdn.net/wf134/article/details/78999287

不管是 Centos 還是 Ubuntu,最新的 Python 都有可能出現同一個問題。解決方法如下:

  • export LC_ALL=C

uwsgi:

最早我用的那個暫時性直接開啟的方法實在太過危險,參考第一個連結。先寫一個 xml 檔案在伺服器目錄(如 myproject.xml),再用:

  • uwsgi -x myproject.xml
  • uwsgi --stop myproject.xml

Nginx:

強烈建議在配置前仔細閱讀 location 的有關知識,搞懂 alias 和 root 的差別。

在這種配置情況下,直接修改 conf 即可。具體位置第一個連結中有。

殺 nginx 必用:

  • Ps -ef|grep nginx
  • Kill -TERM 程序号

測試 SSL 可以用 openSSL 生成本地密鑰測試

具體:

  • openssl pkcs12 -in a.pfx -nodes -out server.cer
  • openssl pkcs12 -in a.pfx -nocerts -nodes -out mycert.key

檢視占用:

  • lsof -i :80
  • lsof -i :443

備份:

多備份啊

cp 原檔案 新檔案路徑

Screen:

強烈推薦 Screen 來多開檔案。具體操作

在 Screen 視窗外

  • screen -S web 建立 web 會話
  • screen -wipe web 移除 web
  • screen -r web 回到 web
  • screen -ls  列出目前所有的session

在視窗

  • C-a n 切換到下一個視窗

  • C-a p 切換到上一個視窗

  • C-a d 暫時離開目前視窗

繼續閱讀