栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Django上线部署

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django上线部署

  1. 修改配置
  2. 安装nginx
  3. 安装mysql
  4. 安装虚拟环境
  5. 安装uwsgi
  6. 安装vnc
  7. Django上线部署流程
1、修改配置
# prod.py
DEBUG=True			# 改成 True
ALLOWED_HOSTS = ['*']			# 改成*或者服务器ip地址

# wsgi.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'autotest.settings.prod')			# 改成prod

# manage.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'autotest.settings.prod')			# 改成prod
2、安装nginx
nginx download url:http://nginx.org/en/download.html
1. 去网页下载相应版本安装
> wget http://nginx.org/download/nginx-1.20.2.tar.gz
> tar -zxvf nginx-1.20.2.tar.gz
> cd nginx-1.20.2/
> ./configure --prefix=/usr/local/nginx
> make && sudo make install
> sudo ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
> cd ..
> rm -rf nginx-1.20.2*
> sudo nginx

2. 常用指令
启动:nginx
停止:nginx -s stop
重启:nginx -s reload

3. 配置文件
安装路径下的:conf/nginx.conf
worker_processes  1;				
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
	
	# 没增加一个监测对象就添加一个server {}
    server {											
        listen       8000;			# 监听端口
        server_name  localhost;			# 域名
        charset utf-8;			# 编码
        location / {
	    include uwsgi_params;			# 配置uwsgi信息
	    uwsgi_pass 127.0.0.1:8808;			# 地址
            uwsgi_param UWSGI_SCRIPT test.wsgi;			# wsgi位置
            uwsgi_param UWSGI_CHDIR  /home/wukn/test;			# 项目路径
        }
		location /static {			# 配置静态文件
			alias /home/wukn/test/static;			# 静态文件位置
		}

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
		}

}
3、安装mysql
ubuntu 20.04
1. 安装server
sudo apt-get update
sudo apt-get install mysql-server

2. 设置密码及安全配置
sudo mysql_secure_installation
配置项,如下所示
	New password: (输入密码)
	Re-enter new password: (重复输入)
	Remove anonymous users? (Press y|Y for Yes, any other key for No) : N (选择N,不删除匿名用户)
	Disallow root login remotely? (Press y|Y for Yes, any other key for No) : N (选择N,允许root远程连接)
	Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N (选择N,不删除test数据库)
	Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y (选择Y,修改权限立即生效)

3. 检测服务
systemctl status mysql.service

4. 配置允许远程访问
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf #找到 bind-address 修改值为 0.0.0.0(如果需要远程访问)
sudo /etc/init.d/mysql restart #重启mysql

5. 设置权限与密码
sudo mysql				# 登入mysql
mysql>use mysql;		# 切换数据库

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; 	# 使用mysql_native_password修改加密规则
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER; 		# 更新一下用户的密码
mysql> UPDATE user SET host = '%' WHERe user = 'root'; 		# 允许远程访问

mysql> CREATE DATABASE auto;				# 创建数据库
mysql> CREATE USER 'www' @'%' IDENTIFIED WITH mysql_native_password BY 'www123?';		# 创建用户
mysql> GRANT ALL PRIVILEGES ON autoneo.* TO 'www'@'%' WITH GRANT OPTION;				# 授权用户指定数据库
mysql>flush privileges;  	#刷新cache中配置 刷新权限
mysql>quit;			# 退出
4、安装虚拟环境
1. 安装包
pip3 install virtualenv
pip3 install virtualenvwrapper

2. 创建软链接
sudo ln -s ~/.local/bin/virtualenv /usr/bin/virtualenv
sudo cp ~/.local/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.sh

3. 配置文件
在~/.bash_profile最下面添加下面两行代码
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

4. 更新配置
source ~/.bash_profile

5. 常用指令
创建虚拟环境:mkvirtualenv name		# name:虚拟环境名称
	-p python2.7 		# 指定python版本
查看已有的虚拟环境:workon
切换虚拟环境:workon name			# name:虚拟环境名称
退出虚拟环境:deactivate
删除虚拟环境:rmvirtualenv name		# name:虚拟环境名称
5、安装uwsgi
pip3 install uwsgi

创建配置文件:xxx.xml

        127.0.0.1:8808			# 地址
        /home/wukn/test			# 项目路径
        test.wsgi				# wsgi位置
        4				# 进程数
        uwsgi.log		# 日志



启动uwsgi:uwsgi -x xxx.xml
杀死进程:sudo pkill -f uwsgi
查看进程:ps -ef | grep uwsgi
6、安装vnc
# ubuntu20.04
1. 安装
sudo apt remove vnc4server			# 删除之前的
sudo apt update			# 更新源
sudo apt install xserver-xorg-core			# 安装
sudo apt install tigervnc-standalone-server tigervnc-xorg-extension tigervnc-viewer -y			# 安装

2. 设置密码
vncpasswd			# 设置密码,按提示操作

3. 创建启动文件
vi ~/.vnc/xstartup			# 打开文件添加以下内容后保存退出
#!/bin/sh
# Start Gnome 3 Desktop 
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

4. 加权
sudo chmod 777 ~/.vnc/xstartup

5. 启动
vncserver :1 -localhost no -geometry 1680x1050 -alwaysshared 		# 冒号后面的表示端口最后一位,1表示5901,2表示5902...

6. 其他命令
pgrep Xtigervnc			# 获得进程id
ss -tulpn | egrep -i 'vnc|590'		# 查看进程
vncserver -kill :1 			# 杀死进程
7、Django上线部署流程
1. 下载代码
git clone xxx

2. 安装虚拟环境
见#4

3. 安装mysql
见#3

4. 安装python包
pip install -r requirement.txt

5. 试运行,检测错误,修复错误
见#1

6. 安装uwsgi(虚拟环境和host都装)
见#5

7. 安装nginx
见#2

8. 启动uwsgi或nginx
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836094.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号