IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Django上线部署 -> 正文阅读

[系统运维]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
<uwsgi>
        <socket>127.0.0.1:8808</socket>			# 地址
        <chdir>/home/wukn/test</chdir>			# 项目路径
        <module>test.wsgi</module>				# wsgi位置
        <processes>4</processes>				# 进程数
        <daemonize>uwsgi.log</daemonize>		# 日志

</uwsgi>

启动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
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-28 12:14:41  更:2022-04-28 12:15:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:39:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码