python部署项目_Centos7下部署Python项目

Centos7下部署Python项目

一、配置系统环境

yum -y install gcc gcc-c++ 编译的时候

yum -y install wget

yum -y install zlib zlib-devel openssl openssl-devel ncurses-devel sqlite sqlite-devel bzip2-deve readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

yum -y install epel-release

yum -y install libffi-devel 编译Python时候,如果缺少,会导致pip安装不成功

yum install psmisc 帮助管理/proc目录,fuser,killall,pstree等

二、源码安装Python3.7.4 && Django

cd /opt 进入opt目录

tar -zxvf Python-3.7.4.tgz

cd Python-3.7.4

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

make && make install

cd ~ 创建软链接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

给python3安装django

pip3 install django

建立软连接

ln -s /usr/local/python3/bin/django-admin /usr/bin/django-admin

上传自己的项目 在项目内 python3 manage.py runserver

如果出错:SQLite 3.8.3 or later is required (found 3.7.17)

参考:https://blog.csdn.net/qq_39969226/article/details/92218635

三、 安装配置uwsgi

从网站https://uwsgi-docs.readthedocs.io/en/latest/Download.html下载最新版uwsgi,下载Stable/LTS版本的源文件,上传到/opt下

tar -zxvf uwsgi压缩包文件

cd uwsgi解压过的目录(安装包)

python3 setup.py install

ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi 建立软连接

在manage.py的同级目录下,新建一个uwsgi.xml文件,配置此文件

127.0.0.1:8000

/data/wwwroot/demo/

demo.wsgi

4

uwsgi.log

四、安装配置nginx

安装 # 1.进入home目录

cd /home

# 2.下载nginx

wget http://nginx.org/download/nginx-1.13.7.tar.gz

# 3.解压

tar -zxvf nginx-1.13.7.tar.gz

# 4.进入解压后的nginx-1.13.7文件夹

cd nginx-1.13.7

# 5.编译安装

./configure

make && make install

nginx一般默认安装好的路径为/usr/local/nginx

在/usr/local/nginx/conf/中先备份一下nginx.conf文件,以防意外。 cd /usr/local/nginx/conf

cp nginx.conf nginx.conf.bak

然后打开nginx.conf,把原来的内容删除,直接加入以下内容: vim nginx.conf events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

server {

listen 80;

server_name xx.xx.xx.xx; #改为自己的域名,没域名修改为127.0.0.1:80

charset utf-8;

location / {

include uwsgi_params;

uwsgi_pass 127.0.0.1:8000; #端口要和uwsgi里配置的一样

uwsgi_param UWSGI_SCRIPT demo.wsgi; #wsgi.py所在的目录名+.wsgi

uwsgi_param UWSGI_CHDIR /data/wwwroot/demo/; #项目路径

}

location /static/ {

alias /data/wwwroot/demo/static/; #静态资源路径

}

}

}

五、启动服务

进入项目目录下将settings.py中: ALLOWED_HOSTS = ['*']

DEBUG = False

cd /data/renwu ls manage.py/uwsgi.ini

启动uwsgi: uwsgi -x demo.xml

cd /usr/local/nginx/sbin/

启动nginx:./nginx

六、配置静态资源

打开django项目中settings.py文件(/unicom/settings.py),添加: STATIC_ROOT = '/root/www/unicom/static/'

运行python3 manage.py collectstatic,此命令是搜集静态文件的命令,搜集后的静态文件存放在/root/www/unicom/static/中

重新启动uwsgi和nginx。 1. killall -9 nginx

2. killall -9 uwsgi

3. nginx

4. uwsgi uwsgi.ini

七、常用命令

关闭nginx&&uwsgi

killall -9 nginx

killall -9 uwsgi

查看服务器正在运行的端口

netstat -ntpl

关闭8000端口(端口被占用)

sudo fuser -k 8000/tcp

#启动Django项目,如果出现Error:That port is already in use. 关掉8000的进程就好

重启nginx

nginx -s reload

检查nginx配置文件语法是否正确

cd /etc/nginx

nginx -t

查看软连接指向

# 1. 查看软连接位置---》在/usr/bin 目录

whereis python

whereis python3

whereis pip

whereis pip3

# 2. 列出软连接指向文件

ls -al python*

ls -al pip*

卸载python

# 1. 删除python3.x的安装包

cd 安装目录

rm -rf python3.xx

# 2. 删除软件的软连接

cd /usr/bin

rm -rf python3 #删除两个软连接

rm -rf pip3

重启nginx

nginx -s reload

本地测试链接是否成功

curl http://127.0.0.1:80

安装virtualenv

# python安装完成后!!!

#1. 安装虚拟环境管理库

pip3 install virtualenv

#2. 创建软连接

ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv

#3.安装成功在根目录下建立两个文件夹,主要用于存放env和网站文件的。(个人习惯,其它人可根据自

己的实际情况处理)

mkdir -p /data/env # env保存各种项目对应虚环境

mkdir -p /data/wwwroot #wwwroot,存放网站源码!

#4. 切换到/data/env/下,创建指定版本的虚拟环境。

virtualenv --python=/usr/bin/python3 jd(虚拟环境名)

#5. 激活

cd /data/env/jd/bin

source activate # deactivate 退出虚拟环境

#6. 安装项目依赖

pip install django==2.1.8/requets/numpy/pandas......

防火墙

firewall-cmd --state #查看防火墙状态

systemctl stop firewalld.service #停止防火墙

systemctl disable firewalld.service #禁止firewall开机启动

扫码关注我们

微信号:SRE实战

拒绝背锅 运筹帷幄

×

选择打赏方式:

微信

QQ钱包

支付宝

打赏

打赏

打赏

多少都是心意!谢谢大家!!!

×

选择分享方式:

微信扫一扫,分享朋友圈

Or

手机扫一扫,精彩随身带

你可能感兴趣的:(python部署项目)