Nginx 的安装之间已经讲过了, 这里就不再累赘
写这篇文章之前, 想说一下感想吧 --- 博主在 2009 年到 2010 年学习搭建网站, 当时用的是 Discuz!. 最新版本还是 Discuz! 7.2, 还没有 Discuz!X 系列. PHPWind 、 DVBBS 和 DedeCMS 在当时都是很火的, 时过境迁, 现在这些都已经被时代抛弃了吧. 最大的原因就是智能手机的快速发展
最初搭建网站的时候, 基本都是虚拟空间, 然后去网站下载源码, 之后上传, 网页端安装就可以了. 根本没有现在那么麻烦, 现在的很多程序虚拟空间是根本无法安装的. 当时哪有 Python 和 Ruby 等等这样的开发语言写的网站, 当时了解很少, 就算有, 也是少之又少的. 国内的源码网站, 基本都是 PHP 与 ASP.NET. 随着时代的快速发展, PHP 好像也要落后了, Python 越来越流行, Ruby 也冲上了排行榜前端, 各种新的语言在排行榜前端代替旧的语言
接下来讲解如何安装配置 uwsgi 和 Django
这里我们都采用 pip 的安装方式
绝大多数 VPS 默认都没有这种安装方式, 所以首先要安装依赖
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install uwsgi
pip install django
到这里为止, uwsgi 和 Django 的安装就算完成了 (当然你也可以使用 yum 或者编译安装的方式安装)
安装完成, 我们需要测试是否能够正常运行
Django :
django-admin.py startproject demosite
cd demosite
python manage.py runserver 0.0.0.0:8002

这个应该属于错误提示, 暂时还没开始学习 Python, 所以也不清楚, 起码这个端口运行的网站可以访问了
uwsgi :
uwsgi 支持多种格式, 例如 .ini, .xml 等
以下为 .ini 的示例
cd /etc
vim uwsgi_9090.ini
[uwsgi]
socket = localhost:9090
master = true //主进程
vhost = true //多站模式
no-site = true //多站模式时不设置入口模块和文件
workers = 2 //子进程数
reload-mercy = 10
vacuum = true //退出、重启时清理文件
max-requests = 1000
limit-as = 512
buffer-size = 30000
pidfile = /var/run/uwsgi9090.pid //pid 文件,用于下面的脚本启动、停止该进程
daemonize = /website/uwsgi9090.log
之后打开某一个 Nginx conf 配置文件, 在 location / {}
处添加 :
uwsgi_pass 127.0.0.1:9090; #端口必须和 uwsgi 中的设置一致
uwsgi_param UWSGI_SCRIPT demosite.wsgi; #入口文件, 即 wsgi.py 相对于项目根目录的位置, "." 相当于一层目录
uwsgi_param UWSGI_CHDIR /demosite; #项目根目录
之后打开这个网站, 就可以看到 Django 的 "It works!
"
由于实际的测试包含了项目相关, 这里不再上图
自創文章, 原著 : Jonny, 如若需要轉發, 在已經授權的情況下請註明出處 :《CentOS 下配置安装 uwsgi 与 Django》https://jonny.vip/2017/08/09/centos-%e4%b8%8b%e9%85%8d%e7%bd%ae%e5%ae%89%e8%a3%85-uwsgi-%e4%b8%8e-django/
Leave a Reply