Django部署上线——记

第一步,服务器上安装和配置数据库
第二步,上传项目到服务器
第三步,用 uWSGI 替代runserver启动服务器
第四步,配置 Nginx 反向代理服务器

安装MySQL8

sudo apt-get update
sudo apt-get install mysql-server

开机启动

systemctl status mysql

查看随机密码

sudo cat /etc/mysql/debian.cnf

登录

mysql -u root -p

设置密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; 

启动

sudo service mysql start

创建数据库

create database '你的数据库名' DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

mysqlclient装不上的话安装依赖

sudo apt-get install libmysqlclient-dev

输出开发环境需要的依赖库

pip3 freeze > requirement.txt

上传到服务器,使用如下命令安装依赖包

pip3 install -r requirement.txt

(win的话用WinSCP上传,PuTTY连接Shell)

安装uwsgi

sudo pip3 install uwsgi

配置uWSGI.ini启动文件

[uwsgi]
http=0.0.0.0:8000     #他妈的用127就是启不起来,也没有报错,怎么也找不到原因,最后改成四个零可以了
socket=127.0.0.1:8001     #后面配NGINX时候再改用socket
chdir=/home/ubuntu/zrhd_bj #直接pwd看绝对路径,指向项目根目录
wsgi-file=zrhd_bj/wsgi.py  #指向同名目录下django生成的wsgi文件
process=2
threads=2
pidfile=uwsgi.pid
daemonize=uwsgi.log
master=ture
static-map = /static=/home/ubuntu/zrhd_bj/static #管理后台静态文件丢了的最终解决办法,网上全是coppy的垃圾
buffer-size = 32768 #提交表单就报502,给个参数才好

settings要从开发环境改生产环境

DEBUG='Fales'

安装nginx

sudo apt-get nginx

nginx配置要去/etc/nginx/sites-enabled 安装目录vim修改,因为权限问题

location / {
	# First attempt to serve request as file, then
	# as directory, then fall back to displaying a 404.
	#try_files $uri $uri/ =404;
	uwsgi_pass 127.0.0.1:8001;
	include /etc/nginx/uwsgi_params;
}

上传文件继续403,找个地方加上附件大小限制,默认好像就1MB or 2MB,静态文件夹nginx没设置没发现问题

client_max_body_size 20m;

#------------------------------------------------------------------------------------------

创建虚拟环境(在项目目录下运行)

python -m venv tutorial-env

激活虚拟环境

activate
#ubuntu
source activate

关闭虚拟环境

deactivate

pip更新 linux用python3命令

python -m pip install --upgrade pip

pip安装软件

pip install django==2.2.7 -i https://pypi.tuna.tsinghua.edu.cn/simple

新建django项目

django-admin startproject

超级用户

manage.py createsuperuser

数据迁移

manage.py makemigrations
manage.py migrate 

启动、停止、看状态

uwsgi --ini uwsgi.ini
uwsgi --stop uwsgi.pid
ps aux|grep 'uWSGI'

杀端口

sudo kill -9 '+pid'

看端口

sudo lsof -i:8001

nginx开始 停止 重启

sudo /etc/init.d/nginx start|stop|restart|status

ubuntu环境变量有些没指定,不是这个运行不了就是那个运行不了,看着加。 修改etc/profile 追加

# set PATH so it includes user's private ~/.local/bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

ubuntu装python3和依赖

sudo apt-get install python3-dev
sudo apt-get install python3-pip 

后台样式丢失
setting.py 添加 STATIC_ROOT

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

执行

python manage.py collectstatic

MySQL基本操作

net start mysql;	#启动
net stop mysql;		#停止
show databases;		#显示总数据库
shouw tables;		#查看数据库
use 库名;			#显示某库
desc 表名;			#显示某表
create database 库名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 	#创建数据库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值