- 修改配置
- 安装nginx
- 安装mysql
- 安装虚拟环境
- 安装uwsgi
- 安装vnc
- 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