码迷,mamicode.com
首页 > 其他好文 > 详细

阿里云部署Django主要注意事项

时间:2020-12-25 12:26:17      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:直接   photo   dia   war   pki   detail   djang   blank   wsgi   

(1)virtualenv 报错 os 没有 PathLike属性

阿里云ubuntu16.0服务器默认python版本分别是2.7.12,3.5.2,而PathLike是在python 3.6时才被加入的属性,因此需要再装个python3.6,并把3.6版本的作为默认版本。

  • 直接sudo apt-get install python3.6肯定是会出错的
技术图片

需要执行:

apt-get install python-software-properties  
apt-get install software-properties-common
  • 然后尝试
add-apt-repository ppa:jonathonf/python-3.6
技术图片

发现依然报错,

执行

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6

(参考链接:https://blog.csdn.net/qq_35975447/article/details/106795935)

技术图片

安装OK

  • 修改python 命令默认为python3.6

先查看python命令指向

ls -l /usr/bin | grep python 
技术图片

指向python2.7

然后删除原有python软链接

rm /usr/bin/python 

然后建立python到python3.6新的软链接

ln -s /usr/bin/python3.6 /usr/bin/python 

技术图片

OK

  • 安装python3的pip
apt-get install python3-pip

建立pip到pip3的软连接

ln -s /usr/bin/pip3 /usr/bin/pip 

(2)安装virtualenv需要注意

为确保是python3.6的pip工作,用

python3.6 -m pip install virtualenv

进入虚拟环境:

source env/bin/activate

(3)Nginx注意事项

  • 安装
sudo apt-get update
sudo apt-get upgrade
  • 启动
sudo service nginx start
  • 修改配置

进入\etc\nginx\sites-available

创建onefile(任意名称)

sudo vi onefile

onefile中写入:

server {
  charset utf-8;
  listen 80;
  server_name xxxxxx;  # 改成你的 IP

  location /static {
    alias /home/sites/file/project_name/collected_static;#file是服务器中建立的文件名
  }

  location /media {
    alias /home/sites/file/project_name/media; #file是服务器中建立的文件名,project_name是项目名称
  }

  location / {
    proxy_set_header Host $host;
    proxy_pass http://unix:/tmp/xxxx.socket;  # 改成你的 IP
  }
}
  • 将刚写的配置文件链接到/etc/nginx/sites-enabled
sudo ln -s /etc/nginx/sites-available/dusaiphoto.com /etc/nginx/sites-enabled

(4)Gunicorn

  • 安装
python3.6 -m install gunicorn
  • 重启Nginx
sudo service nginx reload
  • 启动Gunicorn
gunicorn --bind unix:/tmp/xxxx.socket project_name.wsgi:application

如果有域名,就把套接字中的IP地址换成域名;wsgi前是项目名。sudo service nginx reload只重载配置文件,sudo service nginx restart重启整个服务。

(5)后期运维

git pull origin master
python3 manage.py collectstatic
python3 manage.py migrate
# 重启 gunicorn
pkill gunicorn
gunicorn --bind unix:/tmp/118.31.35.48.socket my_blog.wsgi:application

如果更改了Nginx的配置文件,还需要重启Nginx服务。

阿里云部署Django主要注意事项

标签:直接   photo   dia   war   pki   detail   djang   blank   wsgi   

原文地址:https://www.cnblogs.com/johnyang/p/14165854.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!