Django部署
程序员文章站
2022-06-11 11:38:39
...
首先需购买服务器 新手推荐购买 阿里云或腾讯云进行使用 相对别的服务器更加简单易上手容易部署
一本地部署
(1)布署前需要关闭调试、允许任何机器访问,打开项目的settings.py文件。
DEBUG = False
ALLOW_HOSTS=['*',]
收集静态资源:
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
python3 manage.py collectstatic
(2)配置uWSGI,在项目目录下创建uwsgi.ini文件,配置如下
[uwsgi]
http = 127.0.0.1:8000
chdir = /home/qq/桌面/boke#uwsgi文件的路径
module = boke.wsgi
processes = 4
master = true
threads = 2
daemonize = uwsgi.log
pidfile = uwsgi.pid
virtualenv = /home/qq/.virtualenvs/1807_01#环境的路径
(3)启动 uwsgi
uwsgi --ini uwsgi.ini#在项目里
(4)查看进程
ps ajx|grep uwsgi
(5)停止
uwsgi --stop uwsgi.pid或 kill -9 后加进程号
(6)在浏览器中输入如下网址:
http://127.0.0.1
(7)测试没问题,将配置中启用socket,禁用http
[uwsgi]
socket = 127.0.0.1:8000
chdir = /home/qq/桌面/boke#uwsgi文件的路径
module = boke.wsgi
processes = 4
master = true
threads = 2
daemonize = uwsgi.log
pidfile = uwsgi.pid
virtualenv = /home/qq/.virtualenvs/1807_01#环境的路径
(8)下载nginx后放到桌面上,解压缩
tar zxvf nginx-1.6.3.tar.gz
(9)进入nginx-1.6.3目录,依次执行以下命令进行安装
./configure
make
sudo make install
(10)默认安装到/usr/local/nginx/目录,进入此目录
cd /usr/local/nginx/
执行 sudo vi nginx.conf 配置如下文件
server {
listen 80;#要监听的端口号
server_name 127.0.0.1;#本地ip地址
#动态请求
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
}
#静态
location /static {
alias /home/qq/桌面/boke/static;#静态文件夹路径
}
}
(11)启动nginx
/etc/init.d/nginx start 启动
/etc/init.d/nginx stop 或killall -9 nginx 关闭
/etc/init.d/nginx restart 重启
(二)服务器部署
(1)进入你购买服务器通过扫码进行登陆 点击控制台 找到并记住你的服务器ip 重置一下密码
然后再终端通过远程登陆操纵服务器
ssh ubuntu#服务器名称@118.24.255.81#服务器ip
(2)在服务器终端输入:
sudo apt update 和 sudo apt upgrade
(3)安装pip
sudo apt install python3-pip
(4)安装虚拟环境
sudo pip3 install virtualenv
可能会报错如果报错在终端依次执行如下代码
locale是用来设置软件运行的语言环境,所以语言环境设置有问题
解决故障 复制这三条 命令 一条一条输入 在登入云服务器
重新设置语言环境,最简单的解决办法:
第一条
echo "export LC_ALL=en_US.UTF-8" >> /home/XXX/.bash_profile 代表(特定用户)
第二条
echo "export LC_ALL=en_US.UTF-8" >> /etc/profile 代表(所有用户)
第三条
exit
(5)配置虚拟环境
vi .bashrc
复制这三条命令到文档
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
**
source .bashrc
(6)创建虚拟环境
mkviatualenv 环境名称
(7)安装数据库
sudo apt-get install mysql-server mysql-client
(8)导出本地数据库
mysqldump -uroot -p dbname#数据库名称 > /home/qq/桌面/blog.sql#要导出文件要放的位置路径
(9)导出本地依赖第三方
pip freeze > requirements.txt
(10)数据库和依赖文件还有源码 上传到服务器
scp -r mz_boke.sql [email protected]:/home/ubuntu#服务器路径
scp -r requirements.txt [email protected]:/home/ubuntu#服务器路径
(11)在云端创建一个和本地数据库一样的库,并导入数据
source /xxx/xx/xx/blog.sql #在数据库里执行
(12)安装依赖文件
pip install -r packages.txt
(13)安装nginx 和安装uwsgi
sudo apt-get install nginx
pip install uwsgi
(14)配置uwsgi和nginx 和本地部署一样
(1 5)启动uwsgi
uwsgi --ini uwsgi.ini 启动
uwsgi --stop uwsgi.pip 关闭
(16)启动nginx
/etc/init.d/nginx start 启动
/etc/init.d/nginx stop 或killall -9 nginx 关闭
/etc/init.d/nginx restart 重启
完成
转载于:https://www.jianshu.com/p/29f5237c94e7