学python多久能上线部署网站_Python 上线全过程(Python网站部署)

您现在的位置是:网站首页>>Python>>python

Python 上线全过程(Python网站部署)

发布时间:2018-11-15 14:38:13作者:wangjian浏览量:752点赞量:0

这里以Python的django框架为例(Python的其它框架或原生Python上线步骤大同小异)

一:Python环境安装

1:安装编译文件yum install gcc

yum -y install zlib*

yum install openssl-devel -y

yum install python-setuptools

yum install sqlite-devel

yum install mysql-devel

2:安装pythonwget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz

tar -zxvf Python-3.6.4.tgz

cd Python-3.6.4

./configure --with-ssl

make && make install

3:pip升级pip3 install --upgrade pip

4:安装你需要安装的拓展插件

(1):新建一个requirements.txt文件,里面写上要安装的插件

这里我的requirements.txt内的内容为:

django #django 框架

uwsgi #用于Python域名访问

mysqlclient #django的mysql插件

pycryptodome #Crypto加密解密插件

(2):安装拓展插件pip3 install -r requirements.txt

二:安装nginx:

1:安装编译工具及库文件yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

2:安装pcrewget https://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

tar zxvf pcre-8.35.tar.gz

cd pcre-8.35

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

make && make install

3:安装nginxwget https://nginx.org/download/nginx-1.5.6.tar.gz

tar -zxf nginx-1.5.6.tar.gz

cd nginx-1.5.6

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

--with-http_stub_status_module \

--with-http_gzip_static_module

make && make install

4:启动nginx

/usr/local/nginx/sbin/nginx

三:安装mysql

1:安装编译工具及库文件yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 flex libaio-devel

2:安装cmake 编译器wget https://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz

tar zxvf cmake-3.1.1.tar.gz

cd cmake-3.1.1

./bootstrap

make && make install

3:安装mysql# 下载mysql的repo

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

# 安装mysql源安装包

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

#安装mysql

yum -y install mysql-community-server

4:配置mysql

(1):启动mysql并设置开机自启动systemctl start mysqld

systemctl enable mysqld

(2):配置mysql远程连接和设置密码

查看临时密码grep 'temporary password' /var/log/mysqld.log

设置远程连接和设置密码$ mysql -u root -p

# 进入mysql命令行,修改密码

mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'XXX';

Query OK, 0 rows affected (0.00 sec)

#设置远程登录

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'XXX' WITH GRANT OPTION;

Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql>FLUSH PRIVILEGES;#刷新配置

mysql>exit;

Bye

四:配置防火墙#启动Firewall

systemctl start firewalld

#设置开机自启动

systemctl enable firewalld.service

# 防火墙开放3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

# 防火墙开放80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

# 刷新防火墙配置

firewall-cmd --reload

# 查看端口禁用和开启情况

iptables -L -n

五:配置django项目在服务器上

1:django项目上线配置

将django项目上传到服务器上,然后修改django项目的配置文件settings.pyDEBUG=False (从Debug状态退出)ALLOWED_HOSTS = ["*"]

修改数据库配置DATABASES,修改为你安装的mysql的账号

2:使用mysql客户端登录mysql并创建一个数据库,数据库名为django的settings.py文件配置连接mysql的数据库名,你也可是在命令行进入mysql命令行使用create project(数据库名)

创建数据库

3:使用django命令生成数据库python3 manage.py makemigrations

python3 manage.py migrate

六:配置Nginx+uwsgi实现域名访问

1:创建uwsgi脚本

新建一个uwsgi脚本文件(这里我新建了一个目录用于存放uwsgi脚本文件)cd /dara/www

mkdir script

cd script

vim uwsgi.ini

uwsgi脚本文件内容为:

# uwsig使用配置文件启动

[uwsgi]

socket = 127.0.0.1:9090

# 启用主进程

master = true

#多站模式

vhost = true

#启动uwsgi的用户名和用户组

uid=root

gid=root

# 指定静态文件

static-map=/static=/data/www/myitem/static

#多站模式时不设置入口模块和文件

no-site = true

#子进程数

workers = 2

reload-mercy = 10

#退出、重启时清理文件

vacuum = true

max-requests = 1000

limit-as = 512

buffer-size = 30000

#pid文件,用于下面的脚本启动、停止该进程

pidfile = /data/www/script/uwsgi.pid

#日志文件

daemonize = /data/www/script/uwsgi.log

#Python环境地址

pythonpath = /usr/local/lib/python3.6/site-packages

2:配置nginx

在nginx的配置文件nginx.conf文件(/usr/local/nginx/conf/nginx.conf)尾端加上include vhost/*.conf;

1542867680457204.png

在conf目录下创建一个vhost目录,新建一个你要用用的域名构成的conf文件vim /usr/local/nginx/conf/vhost/www.ceshi.com.conf

文件内容为:server {

listen 80;

server_name www.ceshi.com;

#静态文件配置

location /static {

alias /data/www/project/static;

}

location / {

include uwsgi_params;

uwsgi_pass 127.0.0.1:9090;#必须和uwsgi中的设置一致

uwsgi_param UWSGI_SCRIPT project.wsgi;#入口文件,即wsgi.py相对于项目根目录的位置,“.”相当于一层目录

uwsgi_param UWSGI_CHDIR /data/www/project;#项目根目录

index index.html index.htm;

client_max_body_size 35m;

}

}

3:启动uwsgi并重启nginxuwsgi --ini /data/www/script/uwsgi.ini #启动uwsgi脚本

/usr/local/nginx/sbin/nginx -s reopen #重启nginx

到此django项目上线完成

zan.png

0

+1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值