`
tcspecial
  • 浏览: 911420 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

nginx 使用

阅读更多

       nginx 以小巧,并发能力强而著称,其运行速度非常快,据说达到10倍以上, 国内京东,新浪等大型网站都以此作为web服务器

 

一. 安装

     wget http://nginx.org/download/nginx-1.9.2.tar.gz

     编译 nginx ,V1.9.0版本支持TCP负载均衡,需在编译时开启TCP负载选项。

    

./configure --with-stream

   编译过程中,容易报库缺失错误:

   ./configure: error: the HTTP rewrite module requires the PCRE library.

   

yum -y install pcre-devel

 

   ./configure: error: the HTTP gzip module requires the zlib library

 

yum install -y zlib-devel

 

 

二. 测试

     启动 nginx:  ./usr/local/nginx/sbin/nginx

     停止 nginx:  ./nginx -s stop 

     关闭 nginx:  ./nginx -s quit 

     重新加载配置:./nginx -s reload 

     http://localhost   显示nginx的欢迎页

     

三. 常用配置

     3.1 当没有索引页时,显示文件和目录列表

     /usr/local/nginx/conf/nginx.conf 

worker_processes 1;   #服务进程数量,一般等于CPU数量 

events {
    useepoll;            		#linux上使用epoll网络模型,可不配
    worker_connections 1024;    #一个worker_processe允许的最近并发连接数量
}

location / {
	root   html;
	index  index.html index.htm;
	
	autoindex on;     			# 显示文件列表
	autoindex_exact_size on;
	autoindex_localtime on; 
}

#配置/ios目录下后缀.plist结尾文件以文本方式显示,避免下载
location ~ .*/ios/.*\.plist$ {                 
    add_header Content-Type text/plain;
}

 

  

   3.2 配置虚拟目录

    nginx 好像没有虚拟目录这个概念,但是可以通过指定请求路径时的访问路径实现, 具体通过 alias 和 root 这两个参数设置,这两个参数非常容易混淆,导致出现404错误

    现在要访问: /home/scada/www/test 下 hello.html 这个文件, 如下配置:

# alias 实现
location ^~/test/ {
    alias /home/scada/www/test/;
}

# root 实现
location ^~/test/ {
    root /home/scada/www; 
}

    浏览器访问: http://localhost/test/hello.html 

 

    3.3 配置负载均衡

    Tomcat 可使用Apache mod_jk  组件方式实现负载均衡,但是配置起来比较麻烦。 现在可以直接使用nginx实现负载均衡,只添加少许配置即可实现。

    现有 192.168.5.154  192.168.5.155  192.168.5.158  三台服务器,以192.168.5.154 作为 nginx 前端主服务器,192.168.5.155,192.168.5.158 作为Tomcat服务器。

    

http {
	#负载均衡服务器列表,可设置不同的权重
	upstream localhost {
		server 192.168.5.155:8080 weight=5;		
		server 192.168.5.158:8080 weight=5;
	}
	
	server {
		location / {
			proxy_pass http://localhost;     #反向代理
		}
	}
}

  

    访问:http://192.168.5.154 ,发现显示Tomcat欢迎页,多次刷新,显示不同的欢迎页面

 

 

四. 运行 cgi 服务

   nginx 是不支持直接运行 cgi 程序的, 但支持 fastcgi, 当 ngix 接收到请求后, 通过TCP/unix domain方式与fastcgi进程管理器通信。

 

   a. 编写 fastcgi 方式的python服务

   WSGI 是 python应用程序或框架与web服务器之间的一种接口, 具体实现有 tornado,flup 等, 这里使用 flup

   下载flup: https://pypi.python.org/pypi/flup/1.0.2#downloads

   安装flup:  python setup.py install

  

#!/usr/bin/python
#encoding: utf-8

from flup.server.fcgi import WSGIServer


def myapp(envrion,start_response):
	start_response("200 OK",[("Content-Type","text/plain")])
	return ["Hello world\n"]


if __name__=='__main__':
	WSGIServer(myapp,bindAddress=("127.0.0.1",8008)).run()     # 监听8008端口

 

   b. 启动fastcgi服务: sudo ./hello.py   --method=prefork/threaded minspare=50 maxspare=50 maxchildren=1000

   c. 配置nginx,支持fastcgi

   

location / {
	root   html;
	index  index.html index.htm;

	fastcgi_pass 127.0.0.1:8008;       #指定8008,与wsgi服务保持一致
	fastcgi_param SCRIPT_FILENAME "";
	fastcgi_param PATH_INFO $fastcgi_script_name;
	include fastcgi.conf;              # 导入fastcgi配置
}

    

    浏览器访问: http://localhost/hello.py  显示hello world   

 

分享到:
评论

相关推荐

    Linux 生成SSL证书 供 nginx使用

    "Linux 生成 SSL 证书供 nginx 使用" Linux 生成 SSL 证书供 nginx 使用是指通过 OpenSSL 命令生成 SSL 证书的过程,这个过程包括生成私钥、证书请求文件、证书文件和配置 nginx 使用证书。 首先,生成私钥文件...

    nginx 使用及配置文件

    ### Nginx 使用及配置详解:与Tomcat的协同工作 #### 一、Nginx简介 Nginx是一款高性能的HTTP服务器和反向代理服务器,由Igor Sysoev编写,于2004年首次发布。它以其高并发处理能力、低内存消耗和稳定性而著称,在...

    nginx使用教程.doc

    **Nginx 使用教程** Nginx 是一款高性能的 HTTP 和反向代理服务器,常用于网站的负载均衡和静态资源的处理。以下是一份详细的 Nginx 在 Windows 环境下的安装、配置和使用教程。 ### 一、前提环境 在安装 Nginx ...

    nginx使用指南.pdf

    Nginx 使用指南 一. Nginx 基础知识 Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。Nginx 的主要特性包括处理静态文件、索引文件和自动索引、无缓存的反向代理加速、简单的...

    jks证书格式转换nginx使用格式

    由于生成的证书是jks格式,nginx不能直接用,需要要转成PEM格式,这要用到jks2pfx工具进行转换。 jks2pfx的命令格式:JKS2PFX.bat keystore password alias exportname keystore:KeyStore文件绝对路径 password:...

    nginx使用文档

    包含lvs+nginx负载均衡 nginx安装手册 nginx使用文档 keepalived高可用高可用方法 SwitchHosts软件包 还有相关安装包

    nginx使用说明1

    **Nginx 使用详解** Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一款邮件代理服务器。它以其稳定性高、配置简单、资源消耗低等特性,在 Web 服务领域广泛应用。本文将详细介绍如何安装、启动、关闭以及重载 ...

    nginx使用配置.pdf

    ### Nginx 使用配置详解 #### 一、Linux下的配置使用 **1. 部署环境** 在 Linux 下配置 Nginx 的环境通常需要以下准备: - **操作系统**: CentOS 7 - **预安装软件**: - gcc - pcre - zlib - openssl 这些...

    Nginx使用说明与常见问题解析.docx

    ### Nginx 使用说明与常见问题解析 #### 一、Nginx 安装与配置 **1.1 安装 Nginx** Nginx 的安装方式因操作系统而异。以下是不同系统上的安装步骤: - **Ubuntu/Debian:** ```bash sudo apt update sudo apt ...

    linux环境下的nginx使用教程.pdf

    ### Linux环境下Nginx使用教程知识点详解 #### 一、Nginx的安装 Nginx是一款高性能的HTTP和反向代理Web服务器,它以其稳定性、丰富的功能集、简单的配置文件和低资源消耗而闻名。在Linux环境中部署Nginx非常便捷。 ...

    Nginx使用教程、安装部署配置及常见问题说明

    ### Nginx 使用教程、安装部署配置及常见问题说明 #### 一、Nginx 使用教程 **Nginx** 是一款广泛使用的高性能 HTTP 和反向代理服务器,它还能够作为一个 IMAP/POP3/SMTP 代理服务器。Nginx 的主要特性包括但不...

    nginx使用教程、安装部署配置及常见问题说明

    ### Nginx 使用教程、安装部署配置及常见问题说明 #### 一、Nginx 简介 Nginx 是一款广泛使用的高性能 HTTP 服务器和反向代理服务器,同时也可作为邮件代理服务器。该软件由 Igor Sysoev 开发,并因其出色的性能、...

    nginx使用手册.chm

    nginx使用手册.chm 配置服务器nginx的手册,参考工具,欢迎下载

    关于nginx使用教程

    nginx使用教程

    HETF-Nginx 使用入门手册.zip

    HETF(可能是某个特定的框架或配置方式)与 Nginx 结合使用,旨在提供更高效、更稳定的 Web 服务。本入门手册将引导您了解如何安装、配置和使用 HETF-Nginx 系统。 **一、安装 Nginx** 1. **系统要求**:确保您的...

    Nginx使用方法

    nginx -t -c F:/nginx-1.12.2/conf/nginx.conf 测试nginx配置文件是否正确 start nginx nginx -s stop nginx -s quit nginx -s reload nginx -t 修改后的hosts文件放入c:\windows\system32\drivers\etc替换以前的...

    nginx使用教程!!

    nginx使用教程!!

    nginx DNS 解析缓存的导致访问出错报502问题

    最近碰到一个问题就是nginx转发到另一个nginx使用域名不通报502,通过nginx的日志发现如下 10.220.53.117 – – [18/Feb/2020:10:26:07 +0800] “POST /test/v1/api/f1 HTTP/1.1” 502 173 “-” “okhttp/3.11.0”...

    Linux运维-d2企业级Nginx使用-01基于域名的日志分割.mp4

    Linux运维-d2企业级Nginx使用-01基于域名的日志分割.mp4

    nginx使用教程.pdf

    Nginx 是一款高性能的 HTTP 和反向代理服务器,也是 IMAP/POP3/SMTP 代理服务器。它因其稳定性、丰富的功能集、简单的配置和低资源消耗而广受欢迎。下面是一个简单的 Nginx 使用教程,旨在帮助您快速入门。

Global site tag (gtag.js) - Google Analytics