天天看点

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 暂时离开当前窗口

继续阅读