效果图
流程图
项目地址
https://github.com/gongfuxiang/mogui
https://coding.net/u/gongfuxiang/p/mogui/git
其它相关可参考本博客中的其它文章
1、nginx 2、git ssh部署 3、mysql
基础信息
系统 CentOS7(7.3.1611) Python 2.7.5 Django 1.11.3 Vue 2.4.0 Element 1.4.2
centos6自带python 2.4.3, 我们也可以升级到python2.7.13(这一步可跳过)
https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz tar -zxvf Python-2.7.13.tgz cd Python-2.7.13 ./configure --prefix=/usr/local make && make altinstall
安装setuptools
wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz tar -zxvf setuptools-0.6c11.tar.gz cd setuptools-0.6c11 python setup.py build python setup.py install
安装pip
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz tar -zxvf pip-9.0.1.tar.gz cd pip-9.0.1 python setup.py install
安装python-devel
yum -y install python-devel yum -y install sqlite-devel
pip安装uwsgi
pip install uwsgi
测试uwsgi是否正常运行 创建 test.py 文件
def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return "Hello World" uwsgi --http :8008 --wsgi-file test.py 在浏览器内输入:http://127.0.0.1:8008,查看是否有"Hello World"输出,若没有输出,请检查你的安装过程。
pip安装django
pip install django==1.11.3
测试 django 是否正常,运行
django-admin.py startproject hello cd hello python manage.py runserver 0.0.0.0:8008 在浏览器内输入:http://127.0.0.1:8008,检查django是否运行正常。
安装项目需要用到的python模块
yum -y install mysql-devel pip install mysql-python 或 pip install mysqlclient
开始部署魔鬼部署系统(github已部署好ssh)
mkdir -p /data/www cd /data/www git clone https://github.com/gongfuxiang/mogui.git
修改数据库配置文件
/data/www/mogui/mogui/common/config.py 修改以下配置信息保存即可 # 数据库 db = { 'name' : 'mogui', # 数据库名称 'user' : 'root', # 用户名 'pwd' : 'root', # 密码 'host' : 'localhost', # 连接地址 'port' : 3306 # 端口号 }
还记得新增实际部署的域名或ip
/data/www/mogui/mogui/settings.py 修改 ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
创建数据表
cd /data/www/mogui python manage.py migrate
创建uwsgi配置文件 创建 /etc/uwsgi.ini
详细可参考官网文档 https://uwsgi-docs.readthedocs.io/en/latest/
[uwsgi] chdir = /data/www/mogui module = mogui.wsgi master = true processes = 10 socket = 127.0.0.1:9090 vacuum = true pidfile = /var/run/uwsgi.pid daemonize = /var/log/uwsgi.log uid = 0
uwsgi常用操作
启动uwsgi uwsgi --ini /etc/uwsgi.ini uwsgi重启 kill -HUP `cat /var/run/uwsgi.pid` uwsgi停止 killall -9 uwsgi
nginx配置(记得重启)
upstream django { server 127.0.0.1:9090; } server { listen 80 default; server_name _; charset utf-8; client_max_body_size 75M; uwsgi_read_timeout 1800; uwsgi_send_timeout 300; proxy_read_timeout 300; location /public { alias /data/www/mogui/public; } location / { uwsgi_pass django; include uwsgi_params; } }