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
手机扫一扫,精彩随身带