Nginx+uWSGI+Django+Python在Linux上的部署
搞了一整天,终于以发现自己访问网络的端口是错误的结束了。
首先要安装Nginx,uWSGI,Django,Python,这些都可以再网上查到。
安装好后可以用 whereis 命令查看是否安装好了各种软件。
例如 whereis nginx
nginx wget http://nginx.org/download/nginx-0.8.54.tar.gz
Django wget http://media.djangoproject.com/releases/1.2/Django-1.2.5.tar.gz
1.创建django项目
需要用到命令
import os,sys
import django.core.handlers.wsgi
os.environ['DJANGO_SETTINGS_MODULE']='auth_check.settings'
application=django.core.handlers.wsgi.WSGIHandler()
其中auth_check 为你创建的项目名称
3.创建uwsgi.xml文件
在django.py文件的目录创建uwsgi.xml
<uwsgi>
<socket>0.0.0.0:9090</socket>
<listen>20</listen>
<master>true</master>
<pidfile>/usr/local/nginx/uwsgi.pid</pidfile>
<processes>8</processes>
<module>django</module>
<pythonpath>/root/work/djangodemo/auth_check</pythonpath>
<profiler>true</profiler>
<enable-threads>true</enable-threads>
<logdate>true</logdate>
</uwsgi>
其中9090为端口号,这个需要与后面配置的nginx.conf中的端口一样,module表示上面创建的django.py文件,pythonpath为django.py文件的绝对路径(可以有多个pythonpath)
4.启动uwsgi
输入命令启动uwsgi
uwsgi -x uwsgi.xml
5.配置nginx
进入nginx目录 可以通过
which nginx
命令查找,然后再conf目录下找到 nginx.conf文件,然后更改。
修改前的文件:
server {
listen 80;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.html index.htm;
}
修改后:
server {
listen 80;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
其中9090要与上面的xml文件一样,80为访问的端口
6.启动 nginx
/usr/local/nginx/sbin/nginx
每次修改conf文件后都需要重启nginx
/usr/local/nginx/sbin/nginx -s reload
7.访问网络
curl "http://192.168.153.134"
ip地址可以使ifconfig里面的你的本机的地址,可以是0.0.0.0,可以是127.0.0.1
如果返回的html是django的页面就表明你成功了
访问网络时的端口是nginx.conf里面的listen参数,这里是80,不是uwsgi的端口(9090),切记切记。
8.后记
1)如果访问网络,返回的html有“The page you are looking for is temporarily unavailable.”
表明你的uswgi服务没启动,或nginx里的端口与uswgi的端口不一致
2)uwsgi有多个参数,-x 表示以xml为配置文件启动uwsgi,-d /var/log/uwsgi.log 为后台运行uwsgi并把日志写到/var/log/uwsgi.log里面
Nginx+uWSGI+Django+Python在Linux上的部署的更多相关文章
- Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器
一.安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool ...
- 【金】nginx+uwsgi+django+python 应用架构部署
网上有很多这种配置,但就是没一个靠普的,费了好大的力气才完成架构部署.顺便记录一下. 一.部署前的说明 先安装好 python,django,uwsgi,nginx软件后.后配置运行的软件是分先后的. ...
- nginx+Uwsgi+Django总结与分析
配置与调试nginx与uwsgi 參考: 1.uWSGI其三:uWSGI搭配Nginx使用 2.学习VirtualEnv和Nginx+uwsgi用于django项目部署 3.部署备忘 4.nginx+ ...
- Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器
目录 Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器 crm django项目部署流程 使用supervisro启动uwsgi,退出虚 ...
- python部署到服务器(2) 一一 nginx+uwsgi+Django
参考菜鸟教程,https://blog.csdn.net/qq_42314550/article/details/81805328, 和 https://www.cnblogs.com/chenice ...
- 使用Nginx+uWSGI+Django方法部署Django程序(上)
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
- 安装Nginx+uWSGI+Django环境
Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境 今天要介绍的是利用APT源直接apt-get install安装配置我们所需要的环境,首先按惯例先安装MySQL和 ...
- debian完整部署 Nginx + uWSGI + Django
手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供 ...
- nginx+uwsgi+django开发环境搭建
Nginx+uWSGI+Djangoi开发环境搭建 Django简介,环境搭建 uWSGI简介,安装与配置 Nginx安装与配置 Nginx+uWSGI+Django原理解析 1.django简介,环 ...
随机推荐
- 彻底解决iOS项目中 "_OBJC_CLASS_$_XXXService", referenced from: 的相似问题
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmllcGVuZzEwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- 有关Color和Drawable你所不知道的那些内容
Android开发中,我们经常会用到Color或Drawable,有时他们是可以混用的,有时却有严格的区别. Drawable 体系结构 Drawable是可绘制物件的一般抽象.与View不同,Dra ...
- 使用WebView显示网页
简单的页面跳转 package com.example.webtest; import java.security.PublicKey; import android.support.v7.app.A ...
- Java 字节数组类型(byte[])与int类型互转
代码如下: public class CommonUtils { //高位在前,低位在后 public static byte[] int2bytes(int num){ byte[] result ...
- sqlServer 求当前周的第一天和最后一天,当前月的第一天和最后一天,前三个月的第一天和今天
---当前周的第一天 ),DATEADD(day,-(DATEPART(weekday,GETDATE())-),GETDATE()) , )as'周一', CONVERT(varchar(),DAT ...
- Jquery Ajax 调用 WebService
原文:http://www.cnblogs.com/andiki/archive/2010/05/17/1737254.html jquery ajax调用webservice(C#)要注意的几个事项 ...
- 【SQL】Update中使用表别名、如何用表中一列值替换另一列的所有值
Update中使用表别名 select中的表别名: select * from TableA as ta update中的表别名: update ta from TableA as ta 如何用表中一 ...
- Linux中tshark(wireshark)抓包工具使用方法详解
在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析.最近才发现,原来wires ...
- 周末充电之WPF(二 ) .窗口的布局
登录窗口布局:[ Grid 布局 -Grid.RowDefinitions / Grid.ColumnDefinitions] 代码如下: <Window x:Class="login ...
- 淘宝开源Web服务器Tengine安装教程
简介Tengine是由淘宝核心系统部基于Nginx开发的Web服务器,它在Nginx的基础上,针对大访问量网站的需求,添加了很多功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,淘宝商 ...