这里以刚买的一台腾讯云 VPS 为例,购买时的默认系统是 centos6.9 32bit
1、升级系统 yum -y update
2、安装后面可能用到的库 yum install zlib-devel openssl-devel sqlite-devel gcc
3、新建一个自己的目录,装各种文件用的,比如 mkdir /kakalong ,然后 cd /kakalong 进入此目录
4、安装 python 环境
a. 下载 python 安装包,你看到的时候可能又有更新版了,当然如果你用不到最新版也可以直接照抄我下面的
在 python 官网 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
国内环境下推荐用搜狐镜像 wget http://mirrors.sohu.com/python/3.6.5/Python-3.6.5.tgz
b. 解压安装包 tar -xf Python-3.6.5.tgz
c. 进入安装包 cd Python-3.6.5
d. 依次执行以下命令
mkdir /usr/python3.6
./configure --prefix=/usr/python3.6
make && make install
e. centos6.9 系统默认安装了 python2.6,系统也会用到 python2.6,系统中输入 python 时默认是调用 python2.6,想调用 python3 时可以用 python3 的命令,当然也可以直接修改系统使得 python 命令代表 python3 ,但这样系统命令也会调用 python3,为了让系统正常运行还需要改系统中的几个文件,不同版本的 centos 又略有不同,会给新手造成困扰。所以此处不动系统默认的,而是给系统新加一条 python3 链接用来调用 python.
另外,因为后面我们要用 pip 命令安装 python 所需的库,所以还要检测一下 pip 是否正常,若不正常需要运行
ln -s "/usr/python3.6/bin/pip3" /usr/local/bin/pip
再测试
到此 python 安装结束
5、python 还需要安装许多常见库,可提前全部安装好,免得后面一会提示缺一个再安装一个。
先输入 python3 并回车,进入 python3 窗口,再将下面的命令一次性全部复制并粘贴过去
import pip
from subprocess import call
lst=["beautifulsoup4","requests","get","ipython","lxml","numpy","pandas","pexpect","pickleshare","post"]
for dist in lst:
call("pip install -i https://pypi.douban.com/simple " + dist, shell=True)
这些库其实不全,后面免不了还要单个安装,可通过运行
pip install django==1.11.11 安装,1.11.11 是想要安装的这个库的版本,比如此处我使用的是 django 的 1.11.11 版本,而没有使用最新的 2.x
提醒一下,批量安装的那多行代码是在 python 对话窗口模式下安装的,而后面 pip install django==1.11.11 需要先退出 python 环境然后在系统下运行,退出 python 环境的方法是运行 exit()。参考下图。
到此 python 完成,接下来把你的 django 项目文件上传到服务器上,可以使用 filezilla 等工具直接使用 sftp 从你的本地电脑上登录服务器并上传文件,这样就不需要再在服务器上安装 ftp 服务器了。这里不多讲。
假设你已经将网站上传到了 /kakalong/demo1 这个根目录下,接下来配置 nginx
先安装 nginx : yum install nginx
还需要安装 uwsgi: pip install uwsgi (注意一定要用这个命令而不是 yum 安装)
vi /etc/nginx/conf.d/default.conf
按下图修改,注意要把域名和路径修改成你自己的
保存后记得启动 or 重启 nginx: service nginx restart
接下来别着急,快成功了。
修改 django 项目中 uwsgi.ini 文件如下
[uwsgi]
socket = 127.0.0.1:9002
chdir=/kakalong/demo2/
wsgi-file=/kakalong/demo2/wxsite/wsgi.py
pidfile = /tmp/demo2.pid
daemonize = /kakalong/demo2/uwsgi.log
setting.py 中
ALLOWED_HOSTS = [‘demo2.pdfzhushou.cn’,’127.0.0.1′]
注意一定要有 ‘127.0.0.1′ ,否则无法正常工作。
启动时,运行下面的命令
uwsgi /kakalong/demo2/uwsgi.ini
到此你的网站应该能跑起来了,打开浏览器输入域名试试吧。
可能遇到的错误:
1、django 数据库为 mysql 时的配置
pip install mysqlclient
安装时有可能提示缺少 mysql_config,此时要 yum install mysql-devel
2、找不到 uwsgi 命令
修改/etc/profile 文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
PATH=$PATH:/usr/python3.6/bin/
export PATH
最后:执行 命令 source /etc/profile 或 执行点命令 ./profile 使其修改生效,执行完可通过 echo $PATH 命令查看是否添加成功。