Django项目部署云服务器

Django项目部署云服务器

注:服务器系统:Centos7

使用到云服务器、MySQL数据库、emqx服务器、Navicat、Nginx、uwsgi

1.安装python

说明:

安装步骤参考了他人的教程

详细教程请访问原作者的博客 linuxpython安装教程

安装步骤

1.首先安装依赖包,centos里面是-devel,如果在ubuntu下安装则要改成-dev,依赖包缺一不可,安装python3未成功可能是因为没有安装libffi-devel

sudo yum -y groupinstall "Development tools"
sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

2.获取python3.8.6的安装包

wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz

3.进入~目录,并在~目录下进行解压

cd ~
tar -xvJf Python-3.8.6.tgz

4.配置python3的安装目录并安装编译

cd Python-3.8.6
./configure --prefix=/usr/local/bin/python3
sudo make
sudo make install

5.创建python3和pip3的软链接

ln -s /usr/local/bin/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/bin/python3/bin/pip3 /usr/bin/pip3

最后在命令行中输入python3,能够进入python3终端即成功安装

注意:
1.安装python3时记得要添加软连接
2.退出python
exit()

Django项目部署云服务器_第1张图片

3.回到家目录
cd ~

在这里插入图片描述

2.安装MySQL

说明:

自己为了方便,该步骤copy了他人的教程

详细教程请访问原作者的博客Linux安装MySQL 详细教程

安装mysql有两种:
1.可以使用yum安装,
2.可以自己下载安装包安装mysql,
腾讯云的centos系统自带了yum,所以用yum安装方便点,如果是一般网上的系统可能不会自带yum,需要先自己在线装一下
经测试用yum安装最简便快捷,适合新手使用

安装步骤

1.查看yum源中是否有mysql

yum list | grep mysql

Django项目部署云服务器_第2张图片

2.如果发现没有想要的mysql-server服务,只有php和其他的mysql安装包,则需要安装

3.下载mysql的repo源

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

Django项目部署云服务器_第3张图片

4.安装mysql-community-release-el7-5.noarch.rpm包,中间会出来几次是否安装插件,直接全部yes就行

sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

Django项目部署云服务器_第4张图片

5.安装mysql服务,安装时间比较长,安装成功会在最后一行显示complete!

sudo yum install mysql-server

Django项目部署云服务器_第5张图片

6.登录mysql并修改mysql的密码

mysql -u root

登录时有可能报这样的错:

ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),

在这里插入图片描述

原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

sudo chown -R mysql:mysql /var/lib/mysql        #这里的mysql是用户名(需要设置用户组合用户)

7.重启mysql

service mysqld restart

在这里插入图片描述

8.重置密码,第一行是访问数据库,第二行是使用mysql数据库,第三行是更新密码,第四行是退出,更新后密码为1234567

$    mysql -u root

use mysql;

update user set password=password('12345678$') where user='root';

exit;

用Navicat for mysql连接数据库测试下连接 如果出现1130错误
错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server
论坛上有些朋友说关掉防火墙就好了(其实不是防火墙的问题)是无法给远程连接的用户权限问题。

9.mysql远程访问设置
执行下命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的数据库密码' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'LQJ3020$' WITH GRANT OPTION;

9.再使用Navicat测试,输入密码后成功连接

在这里插入图片描述

3.安装mqtt的服务器EMQX

在(~)家目录下下载emqx的压缩包,之后启动,ip:18083登录即可,超级简单

1.rpm -ivh emqx-centos7-v3.0.1.x86_64.rpm

2.emqx start

3.登录  ip:18083
       180.76.240.18:18083

Django项目部署云服务器_第6张图片

默认账号:admin
   密码:public

Django项目部署云服务器_第7张图片

Django项目部署云服务器_第8张图片

4.创建虚拟环境

1.在home目录下创建虚拟环境

python3 -m venv /home/虚拟环境名称      (一般后缀为_env)

我的:python3 -m venv /home/VehicleProject_env

在这里插入图片描述

2.激活虚拟环境

激活后在#前面会出现你的虚拟环境名称(xxxx_env)

source 创建的虚拟环境名称/bin/activate

我的:source VehicleProject_env/bin/activate

Django项目部署云服务器_第9张图片

注:
退出虚拟环境命令:deactivate

5.将压缩的Django项目上传到home目录下

Django项目部署云服务器_第10张图片

1.将项目的压缩文件上传到/home目录下

注意:linux的压缩文件后缀为xxx.gz

2.解压tar.gz文件

tar -zxvf 压缩名

我的:tar -zxvf Vecle...

Django项目部署云服务器_第11张图片

Django项目部署云服务器_第12张图片

6.进入项目,安装环境依赖

1.进入项目(即manage.py所在的那一个目录)

2.执行requirement.txt,安装依赖环境

注意:pip3是python3对应的
pip3 install -r requirement.txt

安装之后,可查看安装了哪些依赖

pip3 list

7.(~)家目录下安装Web服务器

pip3 install uwsgi

Django项目部署云服务器_第13张图片

8.收集静态文件

在项目目录录下(manage.py所在的目录下),收集静态文件

python3 manage.py collectstatic

Django项目部署云服务器_第14张图片

Django项目部署云服务器_第15张图片

注意:第一次收集静态文件时,一定会显示收集了几条数据,后面再收集,如果没进行更改,则显示收集了0条数据

9.关闭防火墙

1.先查看防火墙状态

查看防火墙状态命令
systemctl status firewalld.service
或
firewall-cmd --state

2.若开着,就关闭防火墙(适合新手,不想快放端口的,但是不安全)

systemctl stop firewalld

10.安装与配置Nginx

1.创建Nginx安装后存放的目录:

mkdir -p /usr/local/nginx

2.下载后解压并安装Nginx到上面创建的文件夹(nginx)

wget https://nginx.org/download/nginx-1.20.1.tar.gz
tar xf nginx-1.20.1.tar.gz

cd nginx-1.20.1/

./configure --prefix=/usr/local/nginx

3.编译

make && make install

4.配置Ngnix (在conf中进行修改)

注:之前创建的文件夹(nginx)—>conf—>nginx.conf

Django项目部署云服务器_第16张图片

5.检查配置(在conf中)

/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

6.重新加载nginx配置文件(在conf下)

/usr/local/nginx/sbin/nginx -s reload

7.启动nginx

位置:(/usr/local/nginx/sbin)

cd sbin

./nginx

11.安装并启动uwsgi

1.在home(~)目录下安装uwsgi

pip3 install uwsgi

2.启动uwsgi (进入Django项目 uwsgi.ini所在处)

uwsgi --ini uwsgi.ini

此时,Django项目已经成功部署到了云服务器上,可以在浏览器上输入ip地址+该项目指定的端口号进行浏览

大功告成!撒花~~~

你可能感兴趣的:(Django,django,服务器,python,后端,nginx)