django2+uwsgi+nginx上线部署到服务器Ubuntu16.04

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 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值