华为云Ubuntu服务器部署Django 项目

django 项目部署踩坑小记

================================================================================================

开发环境:

virtualenvwrapper-win + python 3.6.4 + django 2.2.1
华为云Ubuntu服务器部署Django 项目_第1张图片

第一步:修改django项目的settings配置文件


DEBUG = False
ALLOWED_HOSTS = ['*']
添加下面一行内容:
STATIC_ROOT = os.path.join(BASE_DIR, "static/")

华为云Ubuntu服务器部署Django 项目_第2张图片
华为云Ubuntu服务器部署Django 项目_第3张图片

第二步 收集项目静态文件


配置静态资源文件的路由
华为云Ubuntu服务器部署Django 项目_第4张图片
Ctrl + Alt + R 启动Run manage.py Task
或者
在项目命令行窗口运行 python manage.py collectstatic

华为云Ubuntu服务器部署Django 项目_第5张图片

第三步 检测云服务器开发环境


使用XShell5登录华为云服务器,执行如下命令,将python3的优先级调高(默认python3 以上版本)

	sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 
	sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

华为云Ubuntu服务器部署Django 项目_第6张图片
安装python3 pip
apt-get install python3-pip

华为云Ubuntu服务器部署Django 项目_第7张图片
pip3 list 列出已经安装的库
安装开发需要的库 例如: pip install coreapi

华为云Ubuntu服务器部署Django 项目_第8张图片

第四步 FileZilla Client站点管理器链接华为云


在根目录下新建project文件夹存放项目
将本地项目文件夹拖拽上传
在项目项目创建一个uwsgi的配置文件,后缀为ini

华为云Ubuntu服务器部署Django 项目_第9张图片
配置ini文件
华为云Ubuntu服务器部署Django 项目_第10张图片
选择要使用的编辑器
华为云Ubuntu服务器部署Django 项目_第11张图片
用pyCharm打开ini文件,写入:

[uwsgi]
# Django-related settings
socket = 127.0.0.1:9001
# 项目绝对路径
chdir           = /home/project/LoginDemo
# Django的wsgi文件相对路径
wsgi-file       = LoginDemo/wsgi.py
# process-related settings
# master
master          = True
# 最大进程数
processes       = 4
# 线程数
threads         = 2
#设置此参数,有一个主进程
master=True
#守护进程的方式运行,log日志存在此log文件里
deamonize=/var/log/uwsgi/djangoProject.log
#主进程id写入文件里
pidfile= /var/log/nginx/uwsgi.pid
# ... with appropriate permissions - may be needed
# chmod-socket    = 664
#退出时,清理环境
vacuum          = True
reload-mercy    = 10
max-requests    = 5000
limit-as        = 512
buffer-size     = 30000

如图:
华为云Ubuntu服务器部署Django 项目_第12张图片
文件发生更改时,FileZilla会有提示,选择是
华为云Ubuntu服务器部署Django 项目_第13张图片
在/etc/nginx/conf.d目录下 新建 文件名.conf的配置文件
华为云Ubuntu服务器部署Django 项目_第14张图片
写入以下内容:(端口视自己服务器监听端口)

    server {
    listen         88;
    server_name    http://www.moblie.site/;
    access_log      /var/log/nginx/zj_access.log;
    error_log       /var/log/nginx/zj_error.log;
charset     utf-8;

    client_max_body_size 75M;
    root /var/www/JczzPro;
    location / {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9003;
        uwsgi_read_timeout 30;
    }
}

如图:
华为云Ubuntu服务器部署Django 项目_第15张图片
Again,文件发生更改时,FileZilla会有提示,选择是

第五步 回到XShell5 重启云服务器


service nginx restart
cd /project/项目名 进入项目目录 执行 ini 文件
uwsgi --ini 那个名字.ini
项目部署完成!试着访问一下自己的ip +端口

==============================================================================================

额外:

ps -ef|grep uwsgi  #查找所有正在运行的uwsgi
netstat -ap | grep端口号  # 查看端口是谁在使用
kill -9 pid号  #强制关闭占用端口的程序

华为云Ubuntu服务器部署Django 项目_第16张图片

额外:本地项目同步至服务器,使用服务器开发环境

pyCharm打开项目,
在Tools - Deplyment - Configuration

华为云Ubuntu服务器部署Django 项目_第17张图片
点左上角加号添加开发环境
选择SFTP 自定义名称

华为云Ubuntu服务器部署Django 项目_第18张图片
填入服务器ip地址,密码,点ok
华为云Ubuntu服务器部署Django 项目_第19张图片
华为云Ubuntu服务器部署Django 项目_第20张图片
输入ip 点击next 输入密码 next
华为云Ubuntu服务器部署Django 项目_第21张图片
Settings里面选取刚刚配置的开发环境
华为云Ubuntu服务器部署Django 项目_第22张图片
勾选自动上传
华为云Ubuntu服务器部署Django 项目_第23张图片

华为云Ubuntu服务器部署Django 项目_第24张图片华为云Ubuntu服务器部署Django 项目_第25张图片

你可能感兴趣的:(import,this)