阿里云 centos7 django + uWSGI+Nginx + python3 部署攻略
centos7+nginx+python3+django+uwsgi配置Django 项目部署
1.租的服务器(选择centos)的话,需要在阿里云后台控制台开放几个端口,克隆一下已开放的端口,tcp自定义就行,mysql(3306),nginx(8000以上都行)。(都切换到root用户操作)
2.安装python3
3.安装nginx
4.安装mysql(这一步如果暂时用不上数据库也可以不操作)
5.确定2,3两步安装成功了,接下来就用pip3 安装django 和uwsgi,
在进行下一步之前建议你看一下这篇博客:http://blog.csdn.net/c465869935/article/details/53242126
还有官方文档:https://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html(直接搜uwsgi官方文档(找到Setting up Django and your web server with uWSGI and nginx)).
6.测试uwsgi能否正常运行:
随便找个干净的目录下vim test.py,新建一个py文件,在里面写上:
def application(env, start_response):
start_response(‘200 OK‘, [(‘Content-Type‘,‘text/html‘)])
return "Hello World".encode()
并保存。然后在当前目录下执行:uwsgi --http :8000 --wsgi-file test.py。
访问 http://127.0.0.1:8000,能显示Hello World说明uwsgi没问题。
7.随便找个干净的目录 新建一个django项目
进入项目里面 编辑settings.py : vim settings.py ,在里面加上:
ALLOWED_HOSTS = [‘test.xq.com‘,‘localhost‘, ‘127.0.0.1‘,‘虚拟机自己的ip‘,]
#test.xq.com为你自己买的域名,暂时可以不用,用虚拟机自己的ip或者服务器的ip就行
同时加上:
STATIC_ROOT = os.path.join(BASE_DIR, ‘static‘)
并保存 执行 cd ..切换到pyDemo项目的根目录,能看到manage.py即可,然后执行:python3 manage.py collectstatic.
在同一目录下新建uwsgi的配置文件: vim uwsgi.ini ,在里面写上:
[uwsgi] socket = 127.0.0.1:8001 chdir=/py36_projects/pyDemo module=pyDemo.wsgi master = true processes=2 threads=2 max-requests=2000 chmod-socket=664 vacuum=true daemonize = /py36_projects/pyDemo/uwsgi.log
8.剩下的只有配置nginx的配置文件,
vim /etc/nginx/nginx.conf,进入nginx.conf配置文件看看有没有下面这句代码:
include /etc/nginx/conf.d/*.conf;(意思是导入/etc/nginx/conf.d/下的所有配置文件)
于是我们只要在/etc/nginx/conf.d/目录下:
cd /etc/nginx/conf.d
新建一个conf就行:vim pyDemo.conf(名字随便取),里面写上:
stream django {
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server 127.0.0.1:8001; # for a web port socket (we‘ll use this first)
}
# configuration of the server
server {
# the port your site will be served on
listen 8000;
# the domain name it will serve for
server_name localhost; # substitute your machine‘s IP address or FQDN
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
location /static {
alias /py36_projects/pyDemo/static; # your Django project‘s static files - amend as required
}
# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include /etc/nginx/uwsgi_params; # the uwsgi_params file you installed
}
}
一些说明:
listen 8000; 阿里云服务器的话为上面提到的阿里云后台控制台添加的端口(对外的端口) server_name localhost; localhost可以替换你购买的域名(如前面django的配置文件里的test.xq.com) /py36_projects/pyDemo/ 是我的项目路径 uwsgi_pass django; 里面的 server 127.0.0.1:8001;和上面的uwsgi.ini配置文件的 socket = 127.0.0.1:8001 的端口一致,这个端口8000以上把(不要和nginx配置的端口相同就行)
include /etc/nginx/uwsgi_params;引入/etc/nginx/目录下的uwsgi_params文件,首先你要到该路径下看有没有这个文件,默认是有的,没有就新建一个并写上:
uwsgi_param QUERY_STRING $query_string; uwsgi_param REQUEST_METHOD $request_method; uwsgi_param CONTENT_TYPE $content_type; uwsgi_param CONTENT_LENGTH $content_length; uwsgi_param REQUEST_URI $request_uri; uwsgi_param PATH_INFO $document_uri; uwsgi_param DOCUMENT_ROOT $document_root; uwsgi_param SERVER_PROTOCOL $server_protocol; uwsgi_param REQUEST_SCHEME $scheme; uwsgi_param HTTPS $https if_not_empty; uwsgi_param REMOTE_ADDR $remote_addr; uwsgi_param REMOTE_PORT $remote_port; uwsgi_param SERVER_PORT $server_port; uwsgi_param SERVER_NAME $server_name;
9.以上基本配置好了,验证的准备:
先执行(一步一步来):
pkill -9 uwsgi
pkill -9 nginx
然后切换到项目根目录:
cd /py36_projects/pyDemo 执行:
uwsgi --ini uwsgi.ini
最后执行:
systemctl start nginx 或者 nginx -c /etc/nginx/nginx.conf(都是启动nginx的)
10.开始验证:
打开浏览器:输入你虚拟机或者服务器的 ip:8000,这样就配置成功了
http://blog.csdn.net/c465869935/article/details/53242126
还有官方文档:https://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html(直接搜uwsgi官方文档(找到Setting up Django and your web server with uWSGI and nginx)).
浏览这两篇文章很重要,对你的理解有帮助
阿里云 centos7 django + uWSGI+Nginx + python3 部署攻略的更多相关文章
- Centos7 django+uwsgi+nginx+python3.6.8部署
安装依赖 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-d ...
- 阿里云centos7搭建php+nginx环境
阿里云Centos搭建lnmp(php7.1+nginx+mysql5.7) https://jingyan.baidu.com/article/215817f7a10bfb1eda14238b.ht ...
- Django部署,Django+uWSGI+nginx+Centos部署
说明:系统是在windows上开发的,使用django1.11.4+python3.6.3开发,需要部署在centos6.4服务器上. 第一步:在Centos6.4上安装Python3.6.2 安装请 ...
- 阿里云 centOS7.4新装nginx 不能访问
反复装了几遍ngxin,什么防火墙,nginx.conf改了好几次都不能访问外网的ip, 原因是阿里云这货新的服务器根本就没开通443,80端口,真是坑人啊 点击配置规则,增加端口就行了 添加安全规则 ...
- centos7 nginx配置httpsCenos(6.6/7.1)下从源码安装Python+Django+uwsgi+nginx环境部署(二)
1.yum安装nginx 下载对应当前系统版本的nginx包(package) # wget http://nginx.org/packages/centos/7/noarch/RPMS/ngin ...
- docker简单使用+django+uwsgi+nginx项目部署
使用docker 搭建 centos7 环境: 主机环境:windows 10专业版 一.安装docker Hub.docker.com官网下载 docker for windows 安装完成后,任务 ...
- django+uwsgi+nginx的部署
1.下载与项目对应的django版本pip3 install django==1.11.16 -i https://pypi.douban.com/simple/2.用django内置的wsgi模块测 ...
- django+uwsgi+nginx+sqlite3部署+screen
note:可通过该命令查找文件未知 sudo find / -name filename 一:项目(github) ssh root@server ip # 连接你的服务器 git ...
- Django+Uwsgi+Nginx项目部署文档
一.基本环境搭建 1)查看服务器 [root@Myjumpserver ~]# cat /etc/sysconfig/selinux SELINUX=disabled SELINUXTYPE=targ ...
随机推荐
- Maven - 实例-2-使用本地仓库中的依赖包
Maven引入构建包的流程 执行mvn compile命令编译源代码,如果编译过程中需要用到其他的包, maven将会在pom.xml文件中查找是否引入该依赖包的坐标. 示例: <depende ...
- postgresql-无序uuid tps测试
# postgresql-无序uuid tps测试 ## 无序uuid对数据库的影响 由于最近在做超大表的性能测试,在该过程中发现了无序uuid做主键对表插入性能有一定影响.结合实际情况发现当表的数据 ...
- 剖析QMenu & Qt完全定制化菜单
贴张效果图: 定制包括: 1. 周边阴影 2. 菜单项的元素(分割符, 控制ICON大小, 文字显示位置与颜色, 子菜单指示符) 菜单内的效果, 部分可以使用stylesheet实现, 但要做到这样 ...
- Android Studio 快捷键总结(OS X)
Action shortcut key 解释 跳转到类 cmd+0 跳转到文件 cmd+shift+0 跳转到函数 cmd+alt+0 最近打开的文件 cmd+e 最近编辑的文件 ...
- C#容器类,性能介绍
http://www.php.cn/csharp-article-354819.html 1 indexer []声明的变量必须是固定长度的,即长度是静态的:object[] objectArray ...
- Hadoop-调优剖析
1.概述 其实,在从事过调优相关的工作后,会发现其实调优是一项较为复杂的工作.而对于Hadoop这样复杂且庞大的系统来说,调优更是一项巨大的工作,由于Hadoop包含Common.HDFS.MapRe ...
- Visual Studio 2012 智能提示功能消失解决办法
安装为Visual Studio 2012且更新到了Update3,但是发现智能提示功能用不了,查了一下,网上各种资料,重装VS,连重装系统的都有.不过有很多朋友都是使用命令行重置VS的方法解决了这个 ...
- 为springboot项目添加springboot-admin监控
我们知道spring-boot-actuator暴露了大量统计和监控信息的端点,spring-boot-admin 就是为此提供的监控项目. 先来看看大概会提供什么样的功能 从图中可以看出,主要内容都 ...
- LoadRuner12.53教程(三)
教训1:建立一个Vuser Script jiào教 xùn训 1 : jiàn建 lì立 yī一 gè个 V u s e r S c r ...
- Struts2学习(二)———— 表单参数自动封装和参数类型自动转换
前篇文章对struts2的一个入门,重点是对struts2的架构图有一个大概的了解即可,之后的几篇文章,就是细化struts2,将struts2中的各种功能进行梳理,其实学完之后,对struts2的使 ...