centos7 + nginx + uwsig + Django
Posted 风一样的男人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7 + nginx + uwsig + Django相关的知识,希望对你有一定的参考价值。
## 今天整一个线上部署环境
## 概念性 东西自己看就好了 直接上货
## 注意我这里的python3 已经安装好了,如果没有安装的可以参考我博客进行安装
## 我这里选择的是使用虚拟环境去进行搭建的,后续也会更新在python3安装方法的博客中
## 第一步 如果你的项目在你的本地,就先上传在服务器中,把所有的依赖都导出来,稍后再服务器中进行安装 ## 注意项目不能放在root目录下 1. 进入虚拟环境 1、安装virtualenv yum install python-virtualenv 2、创建python虚拟环境 virtualenv env # 执行后,执行的目录会生成一个与虚拟环境同名的文件夹 如果你的系统里安装有不同版本的python,可以使用--python参数指定虚拟环境的python版本: # 这里指向的我python3的环境。如果你是python2 可以执向你python2的环境 virtualenv --python=/usr/local/bin/python3 env cd /env/bin source activate 3、启动虚拟环境 source bin/activate # 启动虚拟环境 deactivate # 退出虚拟环境 ## 我这里就不用下载python3了
## 进入虚拟环境 安装django 这些就都不说了,安装完成之后,在把你的依赖包都安装上 就可以了
## 在安装uwsgi之前 最好先看看你的项目能不能使用manage.py 运行起来 如果没有问题安装uwsgi
pip3 install uwsgi ##主要安装完成之后需要在 项目 manage.py 的同级创建一个uwsgi.ini的文件
vim uwsgi.ini ## 比如我项目在 /var/code/myweb [uwsgi] #配置和nginx连接的socket连接 # 注意这里是内网的ip 不是公网ip socket= 内网ip:8000 chdir= /var/code/myweb #配置wsgi接口模块文件路径 wsgi-file=myweb/wsgi.py #配置启动的进程数 processes=4 #配置每个进程的线程数 threads=2 #配置启动管理主进程 master=True #配置存放主进程的进程号文件 pidfile=uwsgi.pid #配置dump日志记录 daemonize=uwsgi.log
## 在你的项目更路径启动uwsgi
(env) [root@11111]# uwsgi --ini uwsgi.ini
### ps -ef|grep uwsgi
## 如果能出现这部分内容说明uwsgi启动成功
##安装nginx
yum install -y nginx
在 /etc/nginx/conf.d 路径下 创建一个 配置文件 vim **.conf #文件名称自定义 server{ #监听端口自定义 listen 8000; server_name 公网ip; client_max_body_size 5M; gzip on; gzip_buffers 32 4K;#压缩在内存中缓冲32块 每块4K gzip_comp_level 6 ;#压缩级别 推荐6 gzip_min_length 4000;#开始压缩的最小长度4bit gzip_types text/plain application/json application/javascript application/x-javascript application/css application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png image/x-ms-bmp; location / { include uwsgi_params; uwsgi_pass 公网ip:这里的端口要和uwsgi的端口一样; uwsgi_ignore_client_abort on; } location /static { alias 静态文件路径/static; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } systemctl restart nginx #重新启动nginx
uwsgi --ini uwsgi.ini #启动uwsgi
http://ip:监听端口 (8000)
uwsgi --stop uwsgi.pid # 关闭uwsgi
以上是关于centos7 + nginx + uwsig + Django的主要内容,如果未能解决你的问题,请参考以下文章