1、安装Python3.6
sudo add-apt-repository ppa:fkrull/deadsnakes #然后会提示你敲击回车键 #回车 sudo apt-get install python-software-properties -y sudo apt-get update sudo apt-get install python3.6-dev python3.6-venv -y sudo apt install python-pip -y
2.配置虚拟环境
(1.)安装依赖包
python3.6 -m venv env36 #在当前目录下,创建一个python3.6的虚拟环境,取名为env36,目前自带虚拟环境只支持到3.6.2 . env36/bin/activate #进入虚拟环境 #退出虚拟环境 deactivate cd 项目名 pip3 install -r requirments.txt #安装相关依赖包,其中requirments.txt,是在客户端时,通过pip freeze > requirments.txt获得 #这个过程也许需要多等一会,比较low一点的云服务就慢一些,亲身体验,bat里,百度的最慢 #有可能pip要升级,如果版本过时,会提示用户更新命令的
(2.)修改setting.py
cd 项目名
vim settings.py
#进入settings.py文件中,点击i键,变为编辑模式 #通过上下左右键移动光标 ALLOWED_HOSTS = ['公网ip'] # 公网ip或者域名 #在最底追加 STATIC_ROOT=os.path.join(BASE_DIR,"static/") #然后敲Esc键,输入:wq 保存退出
(3.)测试运行项目
cd .. python manage.py runserver 0.0.0.0:8000 #浏览器访问:公网ip+8000 #发现啥都有啦! #ctrl+c退出项目运行状态
3、虚拟环境中安装uwsgi
(1.)安装
cd ~
pip3 install uwsgi
(2.)检测是否安装成功
cd 项目名 uwsgi --http :8000 --module xueyiwang.wsgi #通过uwsgi启动项目,这一步必须在项目目录下操作执行 #ctrl+C键关闭项目服务状态 #fuser -k 8000/tcp #关闭8000端口占用 #浏览器访问公网ip+8000 仍然可以正常访问,证明uwsgi安装成功
4、安装配置nginx
(1.)安装nginx
cd ..
sudo apt install nginx -y
(2.)配置uwsgi与nginx连接
cd xueyiwang cp /etc/nginx/uwsgi_params . #在项目目录下执行,注意后面这个点儿别落下 #回到~目录下 cd ..
(3.)配置uwsgi.ini
vim uwsgi.ini #进入uwsgi.ini,然后在英文输入下敲i键,进入插入模式,将以下内容填充进去(通过敲i键进入插入模式这一步不能省略,不然粘贴进去的内容会部分丢失) #然后在英文输入下,Esc键,然后输入冒号wq+回车,保存退出。
如下:
[uwsgi] chdir=/home/ubuntu/项目名 module=xueyiwang.wsgi:application home=/home/ubuntu/env36 master=true processes=10 socket=:8001 chmod-socket = 666 vacuum=true
5、配置nginx
#cd 到项目目录下 vim xueyiwang_nginx.conf #新建进入了nginx.conf文件 #在英文输入法下,敲i键,进入可插入模式 #粘贴以下内容
upstream django { # server unix:/root/xueyiwang/xueyiwang.sock; # for a file socket server 127.0.0.1:8001; # for a web port socket (we'll use this first) } # configuration of the server server { # the port your site will be served on listen 8000; # the domain name it will serve for server_name .example.com; # substitute your machine's IP address or FQDN charset utf-8; # max upload size client_max_body_size 75M; # adjust to taste # Django media location /media { alias /home/ubuntu/xueyiwang/media; # your Django project's media files - amend as required } location /static { alias /home/ubuntu/xueyiwang/static; # your Django project's static files - amend as required } # Finally, send all non-media requests to the Django server. location / { uwsgi_pass django; include /home/ubuntu/xueyiwang/uwsgi_params; # the uwsgi_params file you installed } }
6、建立软链接
sudo ln -s /home/ubuntu/xueyiwang/xueyiwang_nginx.conf /etc/nginx/sites-enabled/
7、最后测试
#修改settings.py中 DEBUG = False cd ~ sudo service nginx restart #重启nginx #启动uwsgi uwsgi --ini uwsgi.ini #浏览器访问http://公网ip:8000