linux django web,将Django项目迁移到Linux系统,并上线发布

一,安装软件管理包和可能使用的依赖

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安装情况

a697f4c19d23

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),说明是成功进入虚拟环境。

a697f4c19d23

6.png

四.本地项目迁移到服务器

1.Django项目配置修改

我们需要把原先的Django项目进行修改才能更好地进行项目迁移工作,首先需要修改的是 settings.py 文件。

由于项目上线之后不能让用户看到后台的运行逻辑,所以我们要把 DEBUG 改成 False ,把 ALLOWED_HOSTS 写成‘*’,这样是为了允许从不同主机进行访问。

a697f4c19d23

1.png

由于linux中如果不加这句可能会出现文件找不到的情况,所以我们要把模板的路径进行拼接。

a697f4c19d23

2.png

2.项目环境打包

首先我们需要把Django环境进行打包。在pycharm里面Terminal根路径中输入pip freeze >packge.txt,把当前项目的环境依赖包导出到packge.txt文件中

a697f4c19d23

3.png

a697f4c19d23

4.png

3.通过FileZilla把本地项目上传到服务器对应的/data/web/文件夹里面

a697f4c19d23

Inked7_LI.jpg

4.进入虚拟环境然后进入项目路径安装packge.txt里的依赖包。

pip3 install -r packge.txt

a697f4c19d23

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%'; #查询字符集,修改后的结果是:

a697f4c19d23

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地址

a697f4c19d23

Inked10_LI.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值