一,安装软件管理包和可能使用的依赖
yum -y groupinstall "Development tools"
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel
二,下载和配置Pyhton3.7.0
1.下载Pyhton3.7.0到/usr/local 目录并解压
cd /usr/local
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
tar -zxvf Python-3.7.0.tgz
2.进入 Python-3.7.0路径,编译安装到指定路径,依次执行以下命令
cd /usr/local/Python-3.7.0
./configure --prefix=/usr/local/python3
make
make install
3.安装完成之后 建立软链接 添加变量 方便在终端中直接使用python3
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
4.Python3安装完成之后pip3也一块安装完成,不需要再单独安装,同样给pip3建立软链接
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
5.查看python3与pip3安装情况
5.png
三,安装virtualenv ,方便不同版本项目管理。
1.安装virtualenv
pip3 install virtualenv
2.建立软连接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
3.安装成功在根目录下建立两个文件夹,主要用于存放env和网站文件的。
mkdir -p /data/env
mkdir -p /data/web
4.进入到/data/env/下,创建指定版本的虚拟环境,创建完虚拟环境后进入/data/env/pyweb/bin里启动虚拟环境
virtualenv --python=/usr/bin/python3 pyweb
source activate #启动虚拟环境
deactivate #退出虚拟环境
5.出现(pyweb),说明是成功进入虚拟环境。
6.png
四.本地项目迁移到服务器
1.Django项目配置修改
我们需要把原先的Django项目进行修改才能更好地进行项目迁移工作,首先需要修改的是 settings.py 文件。
由于项目上线之后不能让用户看到后台的运行逻辑,所以我们要把 DEBUG 改成 False ,把 ALLOWED_HOSTS 写成‘*’,这样是为了允许从不同主机进行访问。
1.png
由于linux中如果不加这句可能会出现文件找不到的情况,所以我们要把模板的路径进行拼接。
2.png
2.项目环境打包
首先我们需要把Django环境进行打包。在pycharm里面Terminal根路径中输入pip freeze >packge.txt,把当前项目的环境依赖包导出到packge.txt文件中
3.png
4.png
3.通过FileZilla把本地项目上传到服务器对应的/data/web/文件夹里面
Inked7_LI.jpg
4.进入虚拟环境然后进入项目路径安装packge.txt里的依赖包。
pip3 install -r packge.txt
8.png
安装mysqlclient时出现OSError: mysql_config not found错误,时因为原因是linux需要mysql相关的一些依赖包,安装以下依赖
yum install mysql-devel gcc gcc-devel python-devel
再重新执行一下:pip3 install -r packge.txt
五.安装和配置mariadb
1.下载mariadb
yum install -y mariadb mariadb-server
systemctl start mariadb #启动mariadb
systemctl enable mariadb #开机启动mariadb
2.设置mariadb的root初始密码
mysql -u root -p #进入mysql
#第一次进入提示输入密码,直接按回车,进去后设置初始密码
set password=password('newpassword') #设置初始密码为newpassword
show databases; #查询全部数据库
create database snbank; #创建snbank数据库
use snbank; #进入snbank数据库
SHOW VARIABLES LIKE 'character%'; #查询字符集
3.配置mariadb字符集,防止中文乱码
修改的配置文件位于 /etc/my.cnf.d目录下的client.cnf文件:
在[client]字段里加入
default-character-set=utf8
修改的配置文件位于 /etc/my.cnf.d目录下的server.cnf文件:
在[mysqld]字段里加入
character-set-server=utf8
SHOW VARIABLES LIKE 'character%'; #查询字符集,修改后的结果是:
9.png
六.安装和配置uwsgi
1.安装uwsgi
注意:uwsgi要安装两次,先在系统里安装一次,然后进入对应的虚拟环境再安装一次
pip3 install uwsgi #退出虚拟环境deactivate
给uwsgi建立软链接,方便使用
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
2.配置uwsgi
①XML格式的配置文件
我们网站项目路径是 /data/web/snbank/,在项目根目录下创建snbank.xml文件,输入如下内容:
127.0.0.1:8997
/data/web/snbank/
snbank.wsgi
4
uwsgi.log
#启动uwsgl
uwsgi -x snbank.xml
#uwsgi有没有启动成功,可以用下面的命令查看
ps -ef|grep uwsgi
#如果想重启uwsgi,先使用下面的命令杀掉进程,再启动uwsgi
killall -9 uwsgi
七.安装和配置nginx
1.安装nginx
1.进入home目录,下载nginx
cd /home/
wget http://nginx.org/download/nginx-1.13.7.tar.gz
2.解压下载的nginx
tar -zxvf nginx-1.13.7.tar.gz
3.进入解压后的nginx-1.13.7文件夹,编译安装nginx:
./configure
make
make install
4.nginx一般默认安装好的路径为/usr/local/nginx在/usr/local/nginx/conf/中先备份一下nginx.conf文件,以防意外。
cp nginx.conf nginx.conf.bak
进入nginx.conf,把原来的内容删除,直接加入以下内容:
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name www.django.cn; #改为自己的域名,没域名修改为127.0.0.1:80
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8997; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT snbank.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /data/web/snbank/; #项目路径
}
location /static/ {
alias /data/web/snbank/static/; #静态资源路径
}
}
}
5.进入/usr/local/nginx/sbin/目录
执行./nginx -t命令先检查配置文件是否有错,没有错就启动nginx:
./nginx #启动nginx
./nginx -s reload #重启nginx
八.启动项目
在浏览器输入ip地址
Inked10_LI.jpg