部署django项目
一,配置系统环境
1,yum -y install gcc gcc-c++ 编译的时候
2,yum -y install wget
3,yum -y install zlib zlib-devel openssl openssl-devel ncurses- devel sqlite sqlite-devel bzip2-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
4,yum -y install epel-release
5,yum -y install libffi-devel 编译Python时候,如果缺少,会导致pip安装不成功
6,yum install psmisc 帮助管理/proc目录,fuser,killall,pstree等
二、源码安装Python3.7.4,安装Django,uwsgi,项目初始化
1,cd /opt 进入opt目录
2,使用wget命令下载压缩包 wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
3,tar -zxvf Python-3.7.4.tgz
4,cd Python-3.7.4
5,./configure --prefix=/usr/local/python3
6,make
7,make install
8,创建软链接 ln -s /usr/local/python3/bin/python3 /usr/bin/python3 如果建立错了,删除软连接 rm -rf /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
9,给python3安装django pip3 install django
建立软连接 ln -s /usr/local/python3/bin/django-admin /usr/bin/django-admin
10,出错:SQLite 3.8.3 or later is required (found 3.7.17)(执行python3 manage.py makemigtations)
参考:https://blog.csdn.net/qq_39969226/article/details/92218635
wget https://www.sqlite.org/2019/sqlite-autoconf-3300100.tar.gz
11,关闭防火墙: 查看防火墙状态firewall-cmd --state
systemctl stop firewalld.service 停止防火墙 systemctl disable firewalld.service 禁止firewall开机启动
12,从网站https://uwsgi-docs.readthedocs.io/en/latest/Download.html下载最新版uwsgi,下载Stable/LTS版本的源文件
13,tar -zxvf uwsgi压缩包文件
14,cd uwsgi解压过的目录
15,python3 setup.py install
16,ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi 建立软连接
17,安装完成后,使用uwsgi运行
三,部署虚拟环境(确认项目没有bug)
1,pip freeze > djsngo-env1.txt #把虚拟环境下的所有模块目录打包文件
2,将项目上传到服务器,以"git"为例:
git init #把当前项目初始化为git仓库
git remote add origin (远程仓库地址) #将初始化的仓库与你创建的仓库进行关联
git pull origin master #初始化好的或者克隆仓库的目录,然后执行
git add . #将当前目录所有文件添加到git暂存区`
git commit -m "my first commit" #提交并备注提交信息`
git push origin master #将本地提交推送到远程仓库
```
#在克隆过程中,如果仓库是一个私有仓库,将会要求用户输入 Gitee 的账号和密码
git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱"
#在新建仓库时,如果在 Gitee 平台仓库上已经存在 readme 或其他文件,在提交时可能会存在冲突,这时用户需要选择的是
保留线上的文件或者舍弃线上的文件,如果您舍弃线上的文件,则在推送时选择强制推送,强制推送需要执行下面的命令(默认不推荐该行为
```
git push origin master -f #删除线上的 readme 文件
git pull origin master #保留线上的 readme 文件
3,安装vim: #文本编辑器
sudo apt install vim
"""(有失误)
4,安装 memcached: #开源、高性能、分布式内存对象缓存系统
yum install memcached #安装memcached
yum install telnet
telnet 127.0.0.1 11211 #连接memcached服务:
"""
四,安装mysql数据库流程
#https://blog.csdn.net/m0_51173023/article/details/109583452
1,确保服务器系统处于最新状态
yum -y update # 更新系统
2,下载MySql安装包
rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
或 rpm -ivh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
3,安装mysql
yum install -y mysql-server
或 yum install mysql-community-server
4,修改mysql默认字符集
vi /etc/my.cnf
在里面添加
//在[mysqld]的下面添加服务端字符集
character-set-server=utf8
collation-server=utf8_general_ci
//需要在最下方填写客户端字符集
[client]
default-character-set=utf8
5,设置开机启动Mysql
systemctl enable mysqld.service
systemctl list-unit-files | grep mysqld # 检查是否开机自动启动设置成功
mysqld.service enabled # 显示以下内容说明已经完成自动启动安装
6,设置开启服务
systemctl start mysqld.service
或 service mysqld start
7,查看MySql默认密码
grep 'temporary password' /var/log/mysqld.log # 在root@localhost: 后面的就是初始密码
8,登陆MySql,输入用户名和密码
mysql -uroot -p
9,修改mysql登录密码
# 设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW
set global validate_password_policy=LOW;
# 当前密码长度为 8 ,按照我们常用的设置为 6 位的密码。
set global validate_password_length=6;
# 设置mysql密码,只要满足六位的长度。
alter user 'root'@'localhost' identified by '123456';
10,授予远程连接权限
//授权
grant all privileges on *.* to 'root' @'%' identified by '密码';
//刷新
flush privileges;
11,关闭Linux系统防火墙
systemctl stop firewalld.service