Centos7部署Django项目

1 在centos上配置Django项目

  1. 准备一台服务器(阿里云),可以免费领一个月
  2. 在centos中安装python mysql nginx
  3. 上传我们的项目,并修改配置文件

1.1 领取一个月的免费服务器

  • 配置安全组规则
  • 修改远程连接密码(重置密码)
  • 利用xshell连接

1.2 安装 python mysql nginx

1.2.1 安装必要依赖并上传nginx python压缩包
下载可能用到的依赖
yum -y groupinstall "Development tools"
yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel

本次教程利用的是python3.8.3
https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
我们参考一个链接,步骤太多了😂
https://developer.aliyun.com/article/870499
我这边已经准备好了python 和 nginx 的压缩包
进入/usr/local 目录下面
yum -y install lrzsz 下载lrzsz工具
将压缩包拖到centos里面
安装可能需要的依赖
1.2.2 利用vscode操作

需要使用到这个扩展

#连接命令
ssh root@47.110.130.204 -A

1.2.3 安装nginx python…并创建python虚拟环境
tar -zxvf Python-3.8.3.tgz 解压
cd Python-3.8.3
#--prefix编译安装到自己指定路径 /usr/local/python38
./configure --prefix=/usr/local/python38
make && make install 安装
 
cd /usr/local
mkdir nginx
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure --prefix=/usr/local/nginx
make && make install
vim /etc/profie
追加一行
PATH=/usr/local/nginx/sbin
source /etc/profie
 
cd /usr/local/nginx/html 我们项目存放的位置
它刚刚应该是抽了
yum install -y unzip zip 下载解压工具
unzip mysite.zip
cd mysite
/usr/local/python38/bin/python3.8 -m venv venv 创建虚拟python3.8环境
. venv/bin/activate 激活虚拟环境
好像忘了安装mysql...

1.3 安装mysql

1.3.1 卸载篇
# Centos7完全卸载MySQL
# 参考以下链接
1.Centos7完全卸载MySQL & 安装 & 启动
https://blog.csdn.net/qq_45893475/article/details/122485983?ops_request_misc=&request_id=&biz_id=102&utm_term=centos7%E5%BD%BB%E5%BA%95%E5%8D%B8%E8%BD%BDmysql%20%E4%B8%8E%E5%AE%89%E8%A3%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-122485983.142^v7^pc_search_result_control_group,157^v4^control&spm=1018.2226.3001.4187

2.CentOS7安装MYSQL8.X详细教程
https://www.cnblogs.com/LaoPaoEr/p/16023644.html

# 安装新版mysql前,需将系统自带的mariadb-lib卸载

## 卸载篇
# [root@Gzh0113 /]# rpm -qa|grep mariadb
# mariadb-libs-5.5.68-1.el7.x86_64
# [root@Gzh0113 /]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
# [root@Gzh0113 /]# rpm -qa|grep mariadb
# [root@Gzh0113 /]# 

# [root@Gzh0113 /]# find / -name mysql
# /etc/selinux/targeted/active/modules/100/mysql
# /usr/lib64/mysql
# [root@Gzh0113 /]# rm -rf /etc/selinux/targeted/active/modules/100/mysql
# [root@Gzh0113 /]# rm -rf /usr/lib64/mysql
# [root@Gzh0113 /]# find / -name mysql
# [root@Gzh0113 /]# 

# 删除/etc/my.cnf
# [root@Gzh0113 /]# rm -rf /etc/my.cnf
# 7、删除/var/log/mysqld.log(如果不删除这个文件,会导致新安装的mysql无法生存新密码,会出现无法登陆的情况)
# rm -rf /var/log/mysqld.log
1.3.2 安装篇
## 安装篇
# cd /usr/local

# 1、下载并安装mysql源安装包

# # 下载 反应慢的话直接复制链接到浏览器上打开 下到本地 再上传至centos
# wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 
# # 安装mysql源 
# yum localinstall mysql57-community-release-el7-11.noarch.rpm

# 2、检查mysql源是否安装成功

# yum repolist enabled | grep "mysql.*-community.*"

# 1.3 安装MySQL

# yum install -y mysql-community-server
#  报错 
#  Failing package is: mysql-community-server-5.7.37-1.el7.x86_64
#  GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# 解决方法
# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
# yum install -y  mysql-community-server 
# 成功
# Dependency Installed:
#   libaio.x86_64 0:0.3.109-13.el7                             mysql-community-client.x86_64 0:5.7.37-1.el7              
#   mysql-community-common.x86_64 0:5.7.37-1.el7               mysql-community-libs.x86_64 0:5.7.37-1.el7                

# Complete!
1.3.3 启动篇
## 启动篇
# systemctl start mysqld
# systemctl status mysqld
# active (running) 
# 开机自启
# systemctl enable mysqld 
# 重载所有修改过的配置文件
# systemctl daemon-reload

# 4、获取root登陆密码

# mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

# grep 'temporary password' /var/log/mysqld.log
# ryp!GkhM?4kl 临时密码
# mysql -uroot -p 按enter 输入ryp!GkhM?4kl
# 修改密码 大小写字母、数字和特殊符号,并且长度不能少于8位
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'Violet_113@';
# mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Violet_113@';
# Query OK, 0 rows affected (0.00 sec)
# flush privileges;
# 设置root可以远程登录
# GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Violet_113@' WITH GRANT OPTION;


# 测试连接 完成

2 部署项目

 cd /usr/local/nginx/html/mysite
 安装依赖
 pip install -r requirement.txt
 # mysqlclient==2.1.0 这个报错 使用以下命令解决
 yum install -y mysql-devel gcc gcc-devel python-devel
 继续执行 pip install -r requirement.txt
 
 配置自己的ini文件 /usr/local/nginx/html/mysite/deploy/uwsgi.ini
 /usr/local/nginx/html/mysite 这个替换为自己的项目路径 如果你用的是我的项目什么都不用改
 
 uwsgi --ini deploy/uwsgi.ini 启动uwsgi
 
 配置自己的site.conf文件
 
 # 首先需要自己建一个数据库 刚刚建的有点不好
 create database blog DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
 执行数据库的迁移
 python manage.py makemigrations
 python manage.py migrate
 
 收集静态文件
 python manage.py collectstatic
 
 创建一个超级用户
 python manage.py createsuperuser
 
 deploy里面的文件不要动 将 site.conf 复制到 /usr/local/nginx/conf 里面
 (venv) [root@violet mysite]# /usr/local/nginx/sbin/nginx -tc /usr/local/nginx/conf/site.conf
nginx: the configuration file /usr/local/nginx/conf/site.conf syntax is ok
这个是查配置文件是否有错误的命令

指定配置文件启动nginx
 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/site.conf

# 查看uwsgi nginx 进程
# ps -ef | grep -i uwsgi 
# ps -ef | grep -i nginx 

下面直接就可以用域名访问我们的网站了
47.110.130.204
关闭操作
(venv) [root@violet mysite]# uwsgi --stop deploy/uwsgi.pid
(venv) [root@violet mysite]# /usr/local/nginx/sbin/nginx -s stop

到此就结束了.希望大家都能搭建自己的网站

 

联系邮箱:2369118064@qq.com

B站视频地址(无人声有音乐):【centos7部署Django项目】 https://www.bilibili.com/video/BV1Au411y75h?share_source=copy_web&vd_source=b1b1b69349e0b542170c5fd828d16d86

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值