当前位置:   article > 正文

Django项目部署在服务器(配置Django+Mysql8.0+Python+Nginx+uWsgi)_django项目部署到服务器

django项目部署到服务器

Django项目部署在服务器(配置Django+Mysql8.0+Python+Nginx+uWsgi)

项目配置版本
服务器阿里云CentOS 7.6
数据库Mysql8.0
Python3.7.1

一、更新yum并设置自动更新

1、手动更新yum

yum update -y
  • 1

2、安装自动更新的插件

yum install -y yum-cron
  • 1

3、设置自动更新yum

vim /etc/yum/yum-cron.conf
  • 1

找到 apply_updates = nono改为yes,然后保存
4、启动yum-cron和设置开机自动启动

systemctl start yum-cron
systemctl enable yum-cron
  • 1
  • 2

二、防火墙

1、安装启动防火墙

yum install -y firewalld
systemctl start firewalld
systemctl enable firewalld
  • 1
  • 2
  • 3

2、开放80 端⼝

firewall-cmd --zone=public --add-port=80/tcp --permanent
  • 1

3、重启防火墙

systemctl restart firewalld
  • 1

三、安装mysql8.0

1、使用rpm 命令查找出要删除的mariadb文件

rpm -pa | grep mariadb
  • 1

2、将mysql文件下载到Centos/usr/local/mysql文件夹下

cd /usr/local
mkdir mysql
cd mysql
wget  https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
  • 1
  • 2
  • 3
  • 4

3、安装 yum repo文件并更新 yum 缓存

rpm -ivh mysql80-community-release-el7-1.noarch.rpm 
  • 1

4、更新 yum 命令

yum clean all
yum makecache
  • 1
  • 2

5、使用 yum安装mysql

yum install mysql-community-server
  • 1

会出现GPG验证检查
在这里插入图片描述

解决办法:

yum -y install mysql-community-server --nogpgcheck
  • 1

6、开启mysql 服务

systemctl start mysqld.service
  • 1

7、获取初始密码登录mysql

cat /var/log/mysqld.log | grep password
  • 1

8、使用初始密码并修改密码

mysql -u root -p  #会提示输入密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'ZHANGsan2!';#注意位数和种类至少大+写+小写+符号+数字
  • 1
  • 2

9、在防火墙中开启3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload  # 重启防火墙
  • 1
  • 2

四、安装Python

1、安装环境依赖

yum install -y openssl-devel bzip2-devel expatdevel gdbm-devel readline-devel sqlite-devel zlib-devel libffi-devel MySQL-python mysql-devel
  • 1

2、在主目录建一个文件夹放python安装包

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
tar -zxvf Python-3.7.1.tgz # 解压
mkdir /usr/local/python3
  • 1
  • 2
  • 3

3、进入解压的文件夹安装python3

cd ~/python3/Python-3.7.1
./configure --prefix=/usr/local/python3  # 修改安装路径
make
make install
ln -s /usr/local/python3/bin/python3 /usr/bin  # 创建链接
python3 --version  # 是否安装成功
ln -s /usr/local/python3/bin/pip3 /usr/bin # 创建pip3的链接
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4、安装数据库插件问题

pip3 install mysqlclient   # 安装数据库插件
  • 1

安装失败
查找到 mysql_config配置文件,命令行输入:

find / -name mysql_config  #没有任何回应,说明并没有查找到 mysql_config 配置文件,该问题为缺少mysql源所导致的
  • 1

5、下载安装mysql配置源:

 wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm  # 根据自己mysql版本下载相对应的mysql配置源
  • 1

6、安装mysql-devel依赖包:

yum install mysql-devel --nogpgcheck
  • 1

再次安装就成功了

五、安装 Django、Nginx 和 uWsgi

pip3 install Django
ln -s /usr/local/python3/bin/django-admin /usr/bin  # 给 Django 创建链接
pip3 install uwsgi
ln -s /usr/local/python3/bin/uwsgi /usr/bin
yum install -y nginx  # 安装 Nginx
  • 1
  • 2
  • 3
  • 4
  • 5

六、设置 Django 项⽬

1、⾸先创建⼀个 Django 项⽬, cd /home 先进⼊ home ⽬录
2、使⽤ django-admin startproject mysite 创建⼀个项⽬, mysite 是项⽬名, 可以⾃⼰定义
3、接着 cd mysite/mysite 进⼊ mysite ⽬录下的 mysite ⽂件夹
4、找到 setting.py ⽂件打开并修改
5、如果需要的话, 关闭调试模式 Debug = False
6、允许的主机 Allow_host = [‘这⾥填写本机的 IP’, ‘localhost’]
7、移植静态⽂件, 在最末尾添加 STATIC_ROOT = os.path.join(BASE_DIR, ‘collected_static’)
第⼆个路径为移植后的路径, 然后继续添加 STATICFILES_DIRS = (os.path.join(BASE_DIR, ‘static’),)
8、如果需要的话, 继续在 settings.py 中设置模板和 MySQL 数据库
9、进⾏静态移植, 退出设置⽂件, 在项⽬⽬录下创建⼀个 static ⽂件夹, 在 /home 下创建⼀个 collected_static ⽂件夹. 然后运⾏ python3 manage.py collectstatic
测试代码:
urls.py
在这里插入图片描述
views.py
在这里插入图片描述

七、配置 uWsgi

1、在 mysite 项⽬下新建 uwsgi.ini ⽂件 (⽂件与 manage.py 同级) 填写

[uwsgi] 
 socket = 127.0.0.1:8000 
 chdir = /home/mysite 
 module = mysite.wsgi 
 master = true 
 processes = 1 
 threads = 2 
 max-requests = 2000 
 chmod-socket = 664 
 vacuum = true 
 stats = %(chdir)/uwsgi/uwsgi.status 
 pidfile = %(chdir)/uwsgi/uwsgi.pid 
 daemonize = %(chdir)/uwsgi/uwsgi.log 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2、然后在当前路径下创建 uwsgi ⽂件夹

八、配置 Nginx

1、打开 vim /etc/nginx/nginx.conf 把 http{} 内部的 server{} 改为

server { 
	 listen 80; 
	 server_name localhost; 
	 charset utf-8; 
	 access_log off; 
	 location / { 
	 uwsgi_pass 127.0.0.1:8000; 
	 include /etc/nginx/uwsgi_params; 
	 } 
	 location /static { 
	 alias /home/collected_static/; 
	 } 
 } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2、以上没有的设置补充上去, 多余的设置都注释掉
3、注意, 在此配置⽂件中不管何处, ⼀旦出现以下配置都直接注释掉

include /etc/nginx/conf.d/*.conf; 
include /etc/nginx/sites-enabled/*; 
  • 1
  • 2

九、启动项目

1、⾸先 systemctl start nginx 启动 Nginx
2、然后到项⽬路径下执⾏ uwsgi --ini uwsgi.ini

页面展示
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/508306
推荐阅读
相关标签
  

闽ICP备14008679号