一、更新操作系统和安装依赖包

sudo apt-get update

sudo apt-get dist-upgrade

二、安装Python3和PIP3

sudo apt install python3

sudo apt install python3-pip

三、建立两个文件夹,用于存放virtualenv环境和项目

放虚拟环境的

sudo mkdir -p /data/env

删除文件夹

rm -rf /data/env/pyweb/

放项目的

sudo mkdir -p /data/wwwroot

四、安装virtualenv

sudo pip3 install —index-url https://pypi.douban.com/simple virtualenv

进入env目录

cd /data/env

指定Python版本,创建名为pyweb的虚拟环境,

python -m pip install —index-url https://pypi.douban.com/simple —upgrade pip

sudo virtualenv -p /usr/bin/python3 pyweb

指定Python版本的时候,如果不知道Python3的路径,可以使用下面的命令查看

which python

五、启动虚拟环境

启动虚拟环境

source /data/env/pyweb/bin/activate

退出虚拟环境

deactivate

六、上传项目并安装依赖软件库(虚拟环境下)

unzip filename.zip

压缩功能

sudo apt-get install rar

解压功能

sudo apt-get install unrar

rar x test.rar

sudo pip3 install —index-url https://pypi.douban.com/simple virtualenv -r requirements.txt

sudo pip3 install —index-url https://pypi.douban.com/simple Django

sudo pip3 install —index-url http://mirrors.aliyun.com/pypi/simple/ —trusted-host mirrors.aliyun.com Django

python3 manage.py migrate

python3 manage.py runserver 0.0.0.0:8000

http://106.13.41.87:8000/index

七、安装uwsgi

留意:uwsgi要安装两次,先在系统里安装一次,然后进入对应的虚拟环境安装一次。

sudo pip3 install —index-url http://mirrors.aliyun.com/pypi/simple/ —trusted-host mirrors.aliyun.com uwsgi

pip3 install —index-url http://mirrors.aliyun.com/pypi/simple/ —trusted-host mirrors.aliyun.com uwsgi

启动测试:

uwsgi —http :8000 —chdir /data/wwwroot/django_wxhlsy/ -w django_wxhlsy.wsgi

报错请自行检查项目,访问无问题进行下一步:

mkdir -p /data/wwwroot/mysite

cd /data/wwwroot/mysite/

vim /data/wwwroot/mysite/django_wxhlsy.ini

填入以下内容:

  1. [uwsgi]
  2. project = django_wxhlsy
  3. base = /data/wwwroot
  4. chdir = %(base)/%(project)
  5. module = %(project).wsgi:application
  6. master = true
  7. processes = 5
  8. socket = %(base)/%(project)/%(project).sock
  9. chmod-socket = 666
  10. vacuum = true

八、然后是安装Nginx:

apt-get install nginx

vim /etc/nginx/sites-available/django_wxhlsy

填入内容:

  1. server {
  2. listen 8000;
  3. server_name 106.13.41.87;
  4. location /static/ {
  5. root /data/wwwroot/django_wxhlsy;
  6. }
  7. location / {
  8. include uwsgi_params;
  9. uwsgi_pass unix:/data/wwwroot/django_wxhlsy/django_wxhlsy.sock;
  10. }
  11. }

保存退出,并检测错误!提示ok,那才行!

ln -s /etc/nginx/sites-available/django_wxhlsy /etc/nginx/sites-enabled/

service nginx configtest

service nginx restart

uwsgi /data/wwwroot/mysite/django_wxhlsy.ini

uwsgi /data/wwwroot/mysite/django_wxhlsy.ini -d /data/wwwroot/django_wxhlsy/django_wxhlsy.log

nginx -s quit

如果这时候你的网站已经可以正常浏览使用了,别忘记再在项目中的settings.py中关闭你的Debug:

DEBUG = False

然后再重启uwsgi

下面是杀死uwsgi进程的方法

ps -ef|grep uwsgi

看一下PID,杀死就行。

kill -9 PID