(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主要注意事项的更多相关文章

  1. 阿里云部署django实现公网访问

    本博的主要目的是对阿里云部署django实现公网访问进行一次简单的记录,方便日后查询. 内容目录: (1)申请阿里云服务器及安全组配置 (2)实现ssh远程控制 (3)实现ftp文件传输 (4)安装p ...

  2. 阿里云部署Docker(5)----管理和公布您的镜像

    出到这节,我在百度搜索了一下"阿里云部署Docker",突然发现怎么会有人跟我写的一样呢?哦,原来是其它博客系统的爬虫来抓取,然后也不会写转载自什么什么的.所以,我最终明确为什么那 ...

  3. 阿里云部署自己的web服务器

    阿里云部署自己的web服务器 [外链图片转存失败(img-GIKNTPPx-1564287221547)(https://upload-images.jianshu.io/upload_images/ ...

  4. 阿里云部署JeecgBoot

    阿里云部署JeecgBoot 首先贴出官网教程:http://jeecg-boot.mydoc.io/?t=345682 自己在部署的时候遇到了各种各样的问题,其实一步一步的按照官网给出的步骤来是没问 ...

  5. 阿里云部署Java开发环境

    阿里云部署Java网站和微信开发调试心得技巧(上) 本文主要是记录在阿里云服务器从零开始搭建Java执行环境并且部署web project的过程,方面以后查阅. 一.申请阿里云服务器 购买阿里云服务器 ...

  6. 小白从零开始阿里云部署react项目+node服务接口(三:部署到服务器)

    服务器 准备工具 依次安装即可 nginx 安装nginx https://www.runoob.com/linux/nginx-install-setup.html 配置全局nginx命令 http ...

  7. 小白从零开始阿里云部署react项目+node服务接口(二:node服务+web)

    我们用极简的方式来创建服务,没有任何附加功能 1 新建一个server文件夹 2 使用npm init 或者yarn init  一路enter 3  yarn add  express cors  ...

  8. 小白从零开始阿里云部署react项目+node服务接口(一:阿里云服务器)

    准备阿里云服务器,并安装系统 如果没用自己服务器可以购买一个 https://www.aliyun.com/minisite/goods?userCode=x7i5glgc 初级购买一个1核2G的主机 ...

  9. 阿里云-部署-服务-Docker

    目录 ♫ MusicPlayer Naiveboom - 比较安全 个人阿里云部署的小服务,欢迎使用,服务器资源有限,如果遇到卡顿还请谅解~ 索引: 在线音乐播放器 阅后即焚 ♫ MusicPlaye ...

  10. 阿里云 centos7 django + uWSGI+Nginx + python3 部署攻略

    centos7+nginx+python3+django+uwsgi配置Django 项目部署   1.租的服务器(选择centos)的话,需要在阿里云后台控制台开放几个端口,克隆一下已开放的端口,t ...

随机推荐

  1. Zoom视频会议软件使用指南

    引言 在远程工作和在线教育日益普及的今天,Zoom视频会议软件已成为全球数百万用户沟通协作的首选工具.以其稳定的连接.清晰的音视频质量和便捷的操作界面,Zoom极大地促进了跨地域的实时交流.本文将为您 ...

  2. 附039.Kubernetes_v1.32.2高可用部署架构二

    部署组件 该 Kubernetes 部署过程中,对于部署环节,涉及多个组件,主要有 kubeadm .kubelet .kubectl. kubeadm介绍 Kubeadm 为构建 Kubernete ...

  3. Python - [01] 简介

    人生苦短,我用Python 一.Python 是什么 Python是一个高层次的结合了解释型.编译型.互动性和面向对象的脚本语言. Python的设计具有很强的可读性,相比其他语言经常使用英文关键字, ...

  4. Processing中获取表格数据( .tsv\.csv )的经验分享

    在日常收集数据的需求中,会有很多场合用到表格数据类型,如.tsv和.csv,一来高效查看和编辑,二来数据条理清晰,导入数据结构方便.在Prcocessing中帮我预留好了loadTable().loa ...

  5. mySql跳过行数获取多少行

    LIMIT :需要获取多少条记录 OFFSET :跳过前面的多少行记录从后面开始获取 SELECT * FROM USER LIMIT 32 OFFSET 1 只获取12行记录 跳过第一条记录 SEL ...

  6. AI与.NET系列文章之三:在.NET中使用大语言模型(LLMs)

    引言 在技术迅猛发展的今天,大语言模型(Large Language Models, LLMs)已成为人工智能领域的核心驱动力之一.从智能对话系统到自动化内容生成,LLMs的应用正在深刻改变我们的工作 ...

  7. faker 函数支持哪些

    3.2 常用函数 除了上述介绍的fake.name和fake.address生成姓名和地址两个函数外,常用的faker函数按类别划分有如下一些常用方法. 1.地理信息类 fake.city_suffi ...

  8. webpack 科学修改 node_modules 某个包的部分文件为本地文件

    需求总是千变万化,npm 不是万能的,node_modules 里面的文件也是需要维护的. 如果 npm install 安装了某个包,然而这个包里面部分文件不支持你的需求,这时候怎么办? 比如:ht ...

  9. Chrome浏览器使用AdGuard去除百度热搜

    前言 百度的热搜会分散注意力,chrome 的 AdGuard 插件可以屏蔽广告,还可以屏蔽百度热搜 设置 > 用户过滤器 > 添加以下代码,即可屏蔽百度热搜 baidu.com##div ...

  10. SSH登录方式及如何防止SSH端口被扫

    ssh登录服务器的方式有三种:密码登录,公钥登录,证书登录.同时,密码登录有被破解的风险,网络上也有很多在扫描ssh端口的主机. 比如: 这里175.178.62.36是一个来自广东的服务器,17次尝 ...