详细内容以下html
#!/usr/bin/poython3.6 #conding:utf-8 from distutils.core import setup import glob setup(name='blog', version='1.0', description='demo blog', author='zhang', author_email='18829272841@163.com', url='https://www.zhang.com', packages=['blog','post','user'], # 打包py文件 py_modules=['manage'], #能够不打包manage.py文件 data_files=glob.glob('templates/*.html') + ['requirements','manage.py'], # 打包其余文件 )
pip freeze > requirements # 此处的文件名须要和上面的须要打包中的其余文件的文件名相同
查看结果以下前端
python setup.py sdist --formats=gztar #此处代表打包文件为tar.gz
以下 python
mkdir blog01 cd blog01/ pyenv virtualenv 3.5.3 blog01 pyenv local blog01
结果以下 mysql
yum -y install mysql-devel python-devel
复制以前的包至此目录下并解压重命名react
安装相关项目依赖 webpack
cd blog/ pip install --upgrade pip # 升级安装包 pip install -r requirements
查看安装结果 nginx
启动服务 web
python manage.py runserver 0.0.0.0:80
结果以下 sql
测试以下 npm
web server gateway interface,是python中定义的Web Server 与应用程序的接口定义
应用程序有WSGI的django负责,而WSGI的server 可经过UWSGI 来负责
UWSGI 是一个C语言项目,提供一个WEB服务器,其支持WSGI协议,能够和python的WSGI 应用程序通讯。
官方文档
https://uwsgi-docs.readthedocs.io/en/latest/
UWSGI 能够直接启动HTTP服务,接受HTTP请求。并调用django应用
pip install uwsgi
查看安装是否成功
根目录以下
在django项目根目录中运行以下代码
uwsgi --http :8000 --wsgi-file blog/wsgi.py --stats :8001
测试以下
上述代表运行正常
基本环境以下
相关配置以下
修改配置文件/etc/nginx/conf.d/default.conf 添加以下内容
location ^~ /api/ { rewrite ^/api(/.*) $1 break; #重写URL,去掉前面的api,$1表示去掉api后对应的url proxy_pass http://192.168.1.200:8000; }
生效配置以下
systemctl reload nginx
测试以下
目前的nginx和UWSGI 直接使用的是HTTP 通讯,效率低下,需修改成uwsgi 通讯
1 本次项目的根目录是 /root/blog01/blog,所以blog.ini放入此目录下 ,相关内容以下
[uwsgi] socket=127.0.0.1:9000 chdir=/root/blog01/blog wsgi-file=blog/wsgi.py
启动服务
uwsgi blog.ini
以下
location ^~ /api/ { rewrite ^/api(/.*) $1 break; #proxy_pass http://192.168.1.200:8000; include uwsgi_params; uwsgi_pass 127.0.0.1:9000; }
生效配置并重载
systemctl reload nginx
测试以下
其做用是递归删除文件,至关于 rm -rf
npm install rimraf --save-dev
在package.json中替换,结果以下
上述的build的做用是在调用build时执行的是build对应的命令
修改 webpack.config.prod.js 以下
npm run build
打包上传
修改nginx配置以下
重载配置以下
访问以下
博客平台基本部署完成