搞了一整天,终于以发现自己访问网络的端口是错误的结束了。

首先要安装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项目

需要用到命令

—django-admin.py startproject projectname  其中projectname 为自定义的项目名
如果显示djfenf: command not found  就需要把django-admin.py的路径加入到环境变量中  可以用
find / -name django-admin.py 来查找django-admin.py在那个路径
然后 用 
export  PATH=/work/django/:$PATH 
命令添加环境变量,其中/work/django 为django-admin.py的路径
2.创建django.py文件
在django项目里面的manage.py文件所在的目录下 创建 django.py
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上的部署的更多相关文章

  1. Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器

    一.安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool ...

  2. 【金】nginx+uwsgi+django+python 应用架构部署

    网上有很多这种配置,但就是没一个靠普的,费了好大的力气才完成架构部署.顺便记录一下. 一.部署前的说明 先安装好 python,django,uwsgi,nginx软件后.后配置运行的软件是分先后的. ...

  3. nginx+Uwsgi+Django总结与分析

    配置与调试nginx与uwsgi 參考: 1.uWSGI其三:uWSGI搭配Nginx使用 2.学习VirtualEnv和Nginx+uwsgi用于django项目部署 3.部署备忘 4.nginx+ ...

  4. Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器

    目录 Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器 crm django项目部署流程 使用supervisro启动uwsgi,退出虚 ...

  5. python部署到服务器(2) 一一 nginx+uwsgi+Django

    参考菜鸟教程,https://blog.csdn.net/qq_42314550/article/details/81805328, 和 https://www.cnblogs.com/chenice ...

  6. 使用Nginx+uWSGI+Django方法部署Django程序(上)

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...

  7. 安装Nginx+uWSGI+Django环境

    Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境 今天要介绍的是利用APT源直接apt-get install安装配置我们所需要的环境,首先按惯例先安装MySQL和 ...

  8. debian完整部署 Nginx + uWSGI + Django

    手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供 ...

  9. nginx+uwsgi+django开发环境搭建

    Nginx+uWSGI+Djangoi开发环境搭建 Django简介,环境搭建 uWSGI简介,安装与配置 Nginx安装与配置 Nginx+uWSGI+Django原理解析 1.django简介,环 ...

随机推荐

  1. 关于模拟器不能运行项目问题:Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

    我有一个习惯,当做完某一项功能时就想试试运行效果.所以一个程序完成前会运行无数遍.但是有时会出现不能运行的问题,并且这个问题不是来自项目的错误,显示器显示如下错误: [2013-08-31 08:45 ...

  2. TCP/IP 中的二进制反码求和算法

    对于这个算法,很多书上只是说一下思路,没有具体的实现.我在这里举个例子吧 以4bit(计算方便一点,和16bit是一样的)做检验和来验证. 建设原始数据为 1100 , 1010 , 0000(校验位 ...

  3. C#中Enum用法小结

      enums枚举是值类型,数据直接存储在栈中,而不是使用引用和真实数据的隔离方式来存储. (1)默认情况下,枚举中的第一个变量被赋值为0,其他的变量的值按定义的顺序来递增(0,12,3...),因此 ...

  4. linux shell执行方式

    linux shell执行有两种方式 shell脚本以#!/bin/bash开头,执行shell时先检查首行,在内部以下列方式执行: $/bin/bash script.sh 1. 使用sh执行. $ ...

  5. Android开发之”再按一次退出程序“的实现

    现在移动客户端退出程序对话框退出越来越不流行了,都开始使用连续按两次来退出,即著名的“再按一次退出程序”模式.现在就看看怎么实现的吧. @SuppressLint("HandlerLeak& ...

  6. Android(java)学习笔记209:采用get请求提交数据到服务器(qq登录案例)

    1.GET请求:    组拼url的路径,把提交的数据拼装url的后面,提交给服务器. 缺点:(1)安全性(Android下提交数据组拼隐藏在代码中,不存在安全问题)  (2)长度有限不能超过4K(h ...

  7. css图片垂直居中

    css图片垂直居中一.style代码 .case-pic{ height: 125px; position: relative; text-align: center } .case-pic span ...

  8. (转+整理) oracle authid definer 与 authid current_user

    转:http://blog.csdn.net/indexman/article/details/17067531 http://blog.csdn.net/liqfyiyi/article/detai ...

  9. Nginx高性能服务器安装、配置、运维 (1) —— Nginx简介

    一.Nginx 简介 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器. Nginx特点 ...

  10. 20160329javaweb之JSP -cookie入门

    一.什么是会话? •会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 会话过程中要解决的一些问题? •每个用户在使用浏览器与服务器 ...