阿里云部署Django主要注意事项
(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/onefile /etc/nginx/sites-enabled
- 全局暂停
sudo nginx -s stop
(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/xxxx.socket project_name.wsgi:application
注意重启gunicorn命令应在虚拟环境下的项目文件中进行。
如果更改了Nginx的配置文件,还需要重启Nginx服务。
阿里云部署Django主要注意事项的更多相关文章
- 阿里云部署django实现公网访问
本博的主要目的是对阿里云部署django实现公网访问进行一次简单的记录,方便日后查询. 内容目录: (1)申请阿里云服务器及安全组配置 (2)实现ssh远程控制 (3)实现ftp文件传输 (4)安装p ...
- 阿里云部署Docker(5)----管理和公布您的镜像
出到这节,我在百度搜索了一下"阿里云部署Docker",突然发现怎么会有人跟我写的一样呢?哦,原来是其它博客系统的爬虫来抓取,然后也不会写转载自什么什么的.所以,我最终明确为什么那 ...
- 阿里云部署自己的web服务器
阿里云部署自己的web服务器 [外链图片转存失败(img-GIKNTPPx-1564287221547)(https://upload-images.jianshu.io/upload_images/ ...
- 阿里云部署JeecgBoot
阿里云部署JeecgBoot 首先贴出官网教程:http://jeecg-boot.mydoc.io/?t=345682 自己在部署的时候遇到了各种各样的问题,其实一步一步的按照官网给出的步骤来是没问 ...
- 阿里云部署Java开发环境
阿里云部署Java网站和微信开发调试心得技巧(上) 本文主要是记录在阿里云服务器从零开始搭建Java执行环境并且部署web project的过程,方面以后查阅. 一.申请阿里云服务器 购买阿里云服务器 ...
- 小白从零开始阿里云部署react项目+node服务接口(三:部署到服务器)
服务器 准备工具 依次安装即可 nginx 安装nginx https://www.runoob.com/linux/nginx-install-setup.html 配置全局nginx命令 http ...
- 小白从零开始阿里云部署react项目+node服务接口(二:node服务+web)
我们用极简的方式来创建服务,没有任何附加功能 1 新建一个server文件夹 2 使用npm init 或者yarn init 一路enter 3 yarn add express cors ...
- 小白从零开始阿里云部署react项目+node服务接口(一:阿里云服务器)
准备阿里云服务器,并安装系统 如果没用自己服务器可以购买一个 https://www.aliyun.com/minisite/goods?userCode=x7i5glgc 初级购买一个1核2G的主机 ...
- 阿里云-部署-服务-Docker
目录 ♫ MusicPlayer Naiveboom - 比较安全 个人阿里云部署的小服务,欢迎使用,服务器资源有限,如果遇到卡顿还请谅解~ 索引: 在线音乐播放器 阅后即焚 ♫ MusicPlaye ...
- 阿里云 centos7 django + uWSGI+Nginx + python3 部署攻略
centos7+nginx+python3+django+uwsgi配置Django 项目部署 1.租的服务器(选择centos)的话,需要在阿里云后台控制台开放几个端口,克隆一下已开放的端口,t ...
随机推荐
- Zoom视频会议软件使用指南
引言 在远程工作和在线教育日益普及的今天,Zoom视频会议软件已成为全球数百万用户沟通协作的首选工具.以其稳定的连接.清晰的音视频质量和便捷的操作界面,Zoom极大地促进了跨地域的实时交流.本文将为您 ...
- 附039.Kubernetes_v1.32.2高可用部署架构二
部署组件 该 Kubernetes 部署过程中,对于部署环节,涉及多个组件,主要有 kubeadm .kubelet .kubectl. kubeadm介绍 Kubeadm 为构建 Kubernete ...
- Python - [01] 简介
人生苦短,我用Python 一.Python 是什么 Python是一个高层次的结合了解释型.编译型.互动性和面向对象的脚本语言. Python的设计具有很强的可读性,相比其他语言经常使用英文关键字, ...
- Processing中获取表格数据( .tsv\.csv )的经验分享
在日常收集数据的需求中,会有很多场合用到表格数据类型,如.tsv和.csv,一来高效查看和编辑,二来数据条理清晰,导入数据结构方便.在Prcocessing中帮我预留好了loadTable().loa ...
- mySql跳过行数获取多少行
LIMIT :需要获取多少条记录 OFFSET :跳过前面的多少行记录从后面开始获取 SELECT * FROM USER LIMIT 32 OFFSET 1 只获取12行记录 跳过第一条记录 SEL ...
- AI与.NET系列文章之三:在.NET中使用大语言模型(LLMs)
引言 在技术迅猛发展的今天,大语言模型(Large Language Models, LLMs)已成为人工智能领域的核心驱动力之一.从智能对话系统到自动化内容生成,LLMs的应用正在深刻改变我们的工作 ...
- faker 函数支持哪些
3.2 常用函数 除了上述介绍的fake.name和fake.address生成姓名和地址两个函数外,常用的faker函数按类别划分有如下一些常用方法. 1.地理信息类 fake.city_suffi ...
- webpack 科学修改 node_modules 某个包的部分文件为本地文件
需求总是千变万化,npm 不是万能的,node_modules 里面的文件也是需要维护的. 如果 npm install 安装了某个包,然而这个包里面部分文件不支持你的需求,这时候怎么办? 比如:ht ...
- Chrome浏览器使用AdGuard去除百度热搜
前言 百度的热搜会分散注意力,chrome 的 AdGuard 插件可以屏蔽广告,还可以屏蔽百度热搜 设置 > 用户过滤器 > 添加以下代码,即可屏蔽百度热搜 baidu.com##div ...
- SSH登录方式及如何防止SSH端口被扫
ssh登录服务器的方式有三种:密码登录,公钥登录,证书登录.同时,密码登录有被破解的风险,网络上也有很多在扫描ssh端口的主机. 比如: 这里175.178.62.36是一个来自广东的服务器,17次尝 ...