环境搭建
- mkvirtualenv -p 虚拟环境路径 虚拟环境名
- pip install -r requirement.txt 建议单独安装
- pip install -i https://pypi.douban.com/simple django pillow mysqlclient
- 安装相关包
代码配置
- settings.py
- urls.py
- models.py
- views.py
- templates
代码部署
安装python
安装需要程序
- nginx被部署在最前端,最初是做端口转发的,同时可以实现静态文件访问,用户访问
- sudo apt-get install nginx mysql-server
- ps aux|grep nginx mysql
- mysql -u root -p
- sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 配置bind-address
- sudo service mysql restart
- mysql -h 数据库ip地址 -u root -p
- 允许所有ip地址访问
- GRANT ALL PRIVILEGES ON . TO 'root'@'%'IDENTIFIED BY 'root' WITH GRANT OPTION;
- flush privileges;
- 需要在mysql中运行,GRANT ALL PRIVILEGES ON . TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;其中.指所有表,myuser指通过哪个用户连接,%指所有外部ip,也可改为固定ip,mypassword是密码
配置虚拟机
- pip install virtualenv
- pip install virtualenvwrapper
- vim ~/.bashrc
- export WORKON_HOME=$HOME/.virtualenvs
- source /home/.../.local/bin/vintualenvwrapper.sh
- source ~/.bashrc 重置一下
导出win中的环境
- pip freeze > requirements.txt
启动uwsgi
- pip install uwsgi
- uwsgi --http :8000 --module 项目.wsgi 使用uwsgi在http的8000端口上启动项目
- python manage.py runserver 0.0.0.0:8000
- 编辑uwsgi配置文件
启动配置nginx的conf文件
- upstream配置端口转发
- location配置路径转发
- server中配置监听端口等
- 写好配置文件后将其与nginx启动配置文件软连接,或直接拷贝
- sudo ln -s 配置文件目录.conf /etc/nginx/conf.d/
- sudo cp 配置文件.conf /etc/nginx/conf.d/
- sudo service nginx restart
- 将所有的static文件都收集到一个文件夹中
启动与测试
- uwsgi -i uwsgi.ini
- 修改hosts文件,将ip与域名绑定,测试域名是否正常访问
- 使用 pkill -f uwsgi 重启uwsgi
pwd
'/Users/gy'
网友评论