Nginx 的安装之间已经讲过了, 这里就不再累赘

写这篇文章之前, 想说一下感想吧 --- 博主在 2009 年到 2010 年学习搭建网站, 当时用的是 Discuz!. 最新版本还是 Discuz! 7.2, 还没有 Discuz!X 系列. PHPWind 、 DVBBS 和 DedeCMS 在当时都是很火的, 时过境迁, 现在这些都已经被时代抛弃了吧. 最大的原因就是智能手机的快速发展

最初搭建网站的时候, 基本都是虚拟空间, 然后去网站下载源码, 之后上传, 网页端安装就可以了. 根本没有现在那么麻烦, 现在的很多程序虚拟空间是根本无法安装的. 当时哪有 Python 和 Ruby 等等这样的开发语言写的网站, 当时了解很少, 就算有, 也是少之又少的. 国内的源码网站, 基本都是 PHP 与 ASP.NET. 随着时代的快速发展, PHP 好像也要落后了, Python 越来越流行, Ruby 也冲上了排行榜前端, 各种新的语言在排行榜前端代替旧的语言

uwsgiDjango 就是现代的产物

接下来讲解如何安装配置 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

CentOS 下配置安装 uwsgi 与 Django-Jonny'Blog

这个应该属于错误提示, 暂时还没开始学习 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!"

由于实际的测试包含了项目相关, 这里不再上图