nginx(1)、nginx入门

一、什么是nginx
Nginx ("engine x") 是一个高性能的HTTP和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。nginx官网: http://nginx.org/ 。
阿里巴巴对nginx进行了二次开发命名为Tengine,使得功能更加强大,官网:http://tengine.taobao.org/
 
二、nginx优点
  • 量级轻
  • 高扩展性,它是模块化开发
  • 高可靠性,master进程在一个worker进程出问题后可以快速的转换到新的worker进程中
  • 低内存消耗
  • 热部署
  • 无缓存的反向代理加速,简单的负载均衡和容错
  • 处理静态文件,索引文件以及自动索引;打开文件描述符缓冲
  • 支持SSL 和 TLSSNI
 
三、nginx下载安装
1、下载nginx,最好使用稳定版本。官网下载地址:http://nginx.org/en/download.html,

 

wget http://nginx.org/download/nginx-1.8.0.tar.gz
2、解压
 
tar -zxvf nginx-1.8.0.tar.gz
3、nginx1.8.0需要预先安装PCRE库用来支持rewrite模块
yum install pcre*
4、nginx1.8.0需要预先安装openssl用来需要ssl
yum install openssl*
5、设置配置信息
./configure  --prefix=/mytest/ngnix_test/nginx_bin --with-http_ssl_module  --with-http_stub_status_module  --with-pcre
说明:
 
./configure  
--prefix=/mytest/ngnix_test/nginx_bin  #指定安装目录
--with-http_ssl_module                 #支持https
--with-http_stub_status_module         #支持nginx状态查询
--with-pcre                            #指定rewrite重写功能
6、编译
make
7、安装
make install
四、编译安装configure参数说明
对三、5 设置配置信息进行补充说明
--prefix= 指向安装目录
--sbin-path 指向(执行)程序文件(nginx)
--conf-path= 指向配置文件(nginx.conf)
--error-log-path= 指向错误日志目录
--pid-path= 指向pid文件(nginx.pid)
--lock-path= 指向lock文件(nginx.lock)(安装文件锁定,防止安装文件被别人利用,或自己误操作。)
--user= 指定程序运行时的非特权用户
--group= 指定程序运行时的非特权用户组
--builddir= 指向编译目录
--with-rtsig_module 启用rtsig模块支持(实时信号)
--with-select_module 启用select模块支持(一种轮询模式,不推荐在高载环境下使用)禁用:--without-select_module
--with-poll_module 启用poll模块支持(功能与select相同,与select特性相同,为一种轮询模式,不推荐在高载环境下使用)
--with-file-aio 启用file aio支持(一种APL文件传输格式)
--with-ipv6 启用ipv6支持
--with-http_ssl_module 启用ngx_http_ssl_module支持(使支持https请求,需已安装openssl)
--with-http_realip_module 启用ngx_http_realip_module支持(这个模块允许从请求标头更改客户端的IP地址值,默认为关)
--with-http_addition_module 启用ngx_http_addition_module支持(作为一个输出过滤器,支持不完全缓冲,分部分响应请求)
--with-http_xslt_module 启用ngx_http_xslt_module支持(过滤转换XML请求)
--with-http_image_filter_module 启用ngx_http_image_filter_module支持(传输JPEG/GIF/PNG 图片的一个过滤器)(默认为不启用。gd库要用到)
--with-http_geoip_module 启用ngx_http_geoip_module支持(该模块创建基于与MaxMind GeoIP二进制文件相配的客户端IP地址的ngx_http_geoip_module变量)
--with-http_sub_module 启用ngx_http_sub_module支持(允许用一些其他文本替换nginx响应中的一些文本)
--with-http_dav_module 启用ngx_http_dav_module支持(增加PUT,DELETE,MKCOL:创建集合,COPY和MOVE方法)默认情况下为关闭,需编译开启
--with-http_flv_module 启用ngx_http_flv_module支持(提供寻求内存使用基于时间的偏移量文件)
--with-http_gzip_static_module 启用ngx_http_gzip_static_module支持(在线实时压缩输出数据流)
--with-http_random_index_module 启用ngx_http_random_index_module支持(从目录中随机挑选一个目录索引)
--with-http_secure_link_module 启用ngx_http_secure_link_module支持(计算和检查要求所需的安全链接网址)
--with-http_degradation_module  启用ngx_http_degradation_module支持(允许在内存不足的情况下返回204或444码)
--with-http_stub_status_module 启用ngx_http_stub_status_module支持(获取nginx自上次启动以来的工作状态)
--without-http_charset_module 禁用ngx_http_charset_module支持(重新编码web页面,但只能是一个方向--服务器端到客户端,并且只有一个字节的编码可以被重新编码)
--without-http_gzip_module 禁用ngx_http_gzip_module支持(该模块同-with-http_gzip_static_module功能一样)
--without-http_ssi_module 禁用ngx_http_ssi_module支持(该模块提供了一个在输入端处理处理服务器包含文件(SSI)的过滤器,目前支持SSI命令的列表是不完整的)
--without-http_userid_module 禁用ngx_http_userid_module支持(该模块用来处理用来确定客户端后续请求的cookies)
--without-http_access_module 禁用ngx_http_access_module支持(该模块提供了一个简单的基于主机的访问控制。允许/拒绝基于ip地址)
--without-http_auth_basic_module禁用ngx_http_auth_basic_module(该模块是可以使用用户名和密码基于http基本认证方法来保护你的站点或其部分内容)
--without-http_autoindex_module 禁用disable ngx_http_autoindex_module支持(该模块用于自动生成目录列表,只在ngx_http_index_module模块未找到索引文件时发出请求。)
--without-http_geo_module 禁用ngx_http_geo_module支持(创建一些变量,其值依赖于客户端的IP地址)
--without-http_map_module 禁用ngx_http_map_module支持(使用任意的键/值对设置配置变量)
--without-http_split_clients_module 禁用ngx_http_split_clients_module支持(该模块用来基于某些条件划分用户。条件如:ip地址、报头、cookies等等)
--without-http_referer_module 禁用disable ngx_http_referer_module支持(该模块用来过滤请求,拒绝报头中Referer值不正确的请求)
--without-http_rewrite_module 禁用ngx_http_rewrite_module支持(该模块允许使用正则表达式改变URI,并且根据变量来转向以及选择配置。如果在server级别设置该选项,那么他们将在 location之前生效。如果在location还有更进一步的重写规则,location部分的规则依然会被执行。如果这个URI重写是因为location部分的规则造成的,那么 location部分会再次被执行作为新的URI。 这个循环会执行10次,然后Nginx会返回一个500错误。)
--without-http_proxy_module 禁用ngx_http_proxy_module支持(有关代理服务器)
--without-http_fastcgi_module 禁用ngx_http_fastcgi_module支持(该模块允许Nginx 与FastCGI 进程交互,并通过传递参数来控制FastCGI 进程工作。 )FastCGI一个常驻型的公共网关接口。
--without-http_uwsgi_module 禁用ngx_http_uwsgi_module支持(该模块用来医用uwsgi协议,uWSGI服务器相关)
--without-http_scgi_module 禁用ngx_http_scgi_module支持(该模块用来启用SCGI协议支持,SCGI协议是CGI协议的替代。它是一种应用程序与HTTP服务接口标准。它有些像FastCGI但他的设计 更容易实现。)
--without-http_memcached_module 禁用ngx_http_memcached_module支持(该模块用来提供简单的缓存,以提高系统效率)
-without-http_limit_zone_module 禁用ngx_http_limit_zone_module支持(该模块可以针对条件,进行会话的并发连接数控制)
--without-http_limit_req_module 禁用ngx_http_limit_req_module支持(该模块允许你对于一个地址进行请求数量的限制用一个给定的session或一个特定的事件)
--without-http_empty_gif_module 禁用ngx_http_empty_gif_module支持(该模块在内存中常驻了一个1*1的透明GIF图像,可以被非常快速的调用)
--without-http_browser_module 禁用ngx_http_browser_module支持(该模块用来创建依赖于请求报头的值。如果浏览器为modern ,则$modern_browser等于modern_browser_value指令分配的值;如 果浏览器为old,则$ancient_browser等于 ancient_browser_value指令分配的值;如果浏览器为 MSIE中的任意版本,则 $msie等于1)
--without-http_upstream_ip_hash_module 禁用ngx_http_upstream_ip_hash_module支持(该模块用于简单的负载均衡)
--with-http_perl_module 启用ngx_http_perl_module支持(该模块使nginx可以直接使用perl或通过ssi调用perl)
--with-perl_modules_path= 设定perl模块路径
--with-perl= 设定perl库文件路径
--http-log-path= 设定access log路径
--http-client-body-temp-path= 设定http客户端请求临时文件路径
--http-proxy-temp-path= 设定http代理临时文件路径
--http-fastcgi-temp-path= 设定http fastcgi临时文件路径
--http-uwsgi-temp-path= 设定http uwsgi临时文件路径
--http-scgi-temp-path= 设定http scgi临时文件路径
-without-http 禁用http server功能
--without-http-cache 禁用http cache功能
--with-mail 启用POP3/IMAP4/SMTP代理模块支持
--with-mail_ssl_module 启用ngx_mail_ssl_module支持
--without-mail_pop3_module 禁用pop3协议(POP3即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。是因特网电子邮件的第一个离线协议标 准,POP3协议允许用户从服务器上把邮件存储到本地主机上,同时根据客户端的操作删除或保存在邮件服务器上的邮件。POP3协议是TCP/IP协议族中的一员,主要用于 支持使用客户端远程管理在服务器上的电子邮件)
--without-mail_imap_module 禁用imap协议(一种邮件获取协议。它的主要作用是邮件客户端可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。IMAP协议运行在TCP/IP协议之上, 使用的端口是143。它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。)
--without-mail_smtp_module 禁用smtp协议(SMTP即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。)
--with-google_perftools_module 启用ngx_google_perftools_module支持(调试用,剖析程序性能瓶颈)
--with-cpp_test_module 启用ngx_cpp_test_module支持
--add-module= 启用外部模块支持
--with-cc= 指向C编译器路径
--with-cpp= 指向C预处理路径
--with-cc-opt= 设置C编译器参数(PCRE库,需要指定–with-cc-opt=”-I /usr/local/include”,如果使用select()函数则需要同时增加文件描述符数量,可以通过–with-cc- opt=”-D FD_SETSIZE=2048”指定。)
--with-ld-opt= 设置连接文件参数。(PCRE库,需要指定–with-ld-opt=”-L /usr/local/lib”。)
--with-cpu-opt= 指定编译的CPU,可用的值为: pentium, pentiumpro, pentium3, pentium4, athlon, opteron, amd64, sparc32, sparc64, ppc64
--without-pcre 禁用pcre库
--with-pcre 启用pcre库
--with-pcre= 指向pcre库文件目录
--with-pcre-opt= 在编译时为pcre库设置附加参数
--with-md5= 指向md5库文件目录(消息摘要算法第五版,用以提供消息的完整性保护)
--with-md5-opt= 在编译时为md5库设置附加参数
--with-md5-asm 使用md5汇编源
--with-sha1= 指向sha1库目录(数字签名算法,主要用于数字签名)
--with-sha1-opt= 在编译时为sha1库设置附加参数
--with-sha1-asm 使用sha1汇编源
--with-zlib= 指向zlib库目录
--with-zlib-opt= 在编译时为zlib设置附加参数
--with-zlib-asm= 为指定的CPU使用zlib汇编源进行优化,CPU类型为pentium, pentiumpro
--with-libatomic 为原子内存的更新操作的实现提供一个架构
--with-libatomic= 指向libatomic_ops安装目录
--with-openssl= 指向openssl安装目录
--with-openssl-opt 在编译时为openssl设置附加参数
--with-debug 启用debug日志
五、nginx目录介绍
cd /mytest/ngnix_test/nginx_bin,
看到安装的nginx目录
conf  配置文件,nginx常用配置
html  网页文件,nginx下的页面,可以配置在此处
logs  日志文件,nginx进程文件等 
sbin  主要二进制程序,nginx程序
 
六、常用nginx操作命令
1、启动nginx
cd /mytest/ngnix_test/nginx_bin/sbin
./nginx 
 此时会默认加载/mytest/ngnix_test/nginx_bin/conf/nginx.conf
 
指定conf 
./nginx -c xxNginx.conf
 
2、重启
./nginx -s reload
3、关闭
./nginx -s stop
4、停止运行
 
ps -ef | grep nginx # 查到主进程号
cat /mytest/ngnix_test/nginx_bin/logs/nginx.pid #nginx进程id号
kill -9 NGINX_PID# 根据nginx pid,强制杀死nginx进程
 
七、小结
nginx是一个很伟大的高性能http服务器,通常作为html服务器,负载均衡服务器,很多互联网公司都已经用到生产中。很值得花时间去研究。
 
#下篇介绍nginx常用配置
相关文章
相关标签/搜索
王中王鉄算盘开奖结果 http 京山县| 定南县| 湘西| 钦州市| 松桃| 溆浦县| 石门县| 承德县| 泰州市| 财经| 扬中市| 望谟县| 杭州市| 大安市| 新丰县| 和田县| 麦盖提县| 柳州市| 赤水市| 揭西县| 南安市| 建平县| 尼勒克县| 邹城市| 普陀区| 罗山县| 尉犁县| 全椒县| 睢宁县| 凤城市| 莆田市| 安泽县| 沽源县| 普安县| 当阳市| 明星| 昌宁县| 乐亭县| 射洪县| 双流县| 平遥县| 徐汇区| 鄂伦春自治旗| 邮箱| 松潘县| 胶南市| 开江县| 抚远县| 怀柔区| 兴文县| 龙泉市| 贵港市| 焉耆| 喀喇| 都江堰市| 平舆县| 扶余县| 宝鸡市| 洛川县| 东乌| 朝阳县| 湾仔区| 巴楚县| 许昌县| 航空| 玉屏| 丰县| 宝鸡市| 仲巴县| 宜君县| 阜城县| 伊宁县| 凉山| 永修县| 大名县| 沙田区| 富川| 黔东| 同心县| 夏津县| 淮北市| 福泉市| 临海市| 延津县| 咸丰县| 随州市| 阆中市| 洛隆县| 华宁县| 横山县| 墨竹工卡县| 调兵山市| 广元市| 喀喇沁旗| 南京市| 子长县| 牙克石市| 庆元县| 遵义县| 泸水县| 福安市| 白沙| 乌拉特中旗| 武川县| 依安县| 扎囊县| 桓台县| 鄂托克前旗| 建昌县| 天等县| 大名县| 广灵县| 辉南县| 铜陵市| 微山县| 铜梁县| 乐至县| 黎平县| 湘潭县| 宝清县| 肃南| 仁布县| 芜湖县| 通辽市| 宜丰县| 洪雅县| 玉屏| 来凤县| 钦州市| 莒南县| 磐安县| 温宿县| 南丹县| 通化县| 香河县| 巴南区| 安图县| 田林县| 页游| 盐源县| 交城县| 新郑市| 申扎县| 庆阳市| 五峰| 五大连池市| 都江堰市| 高淳县| 凉城县| 波密县| 德清县| 巴楚县| 三门县| 常德市| 浑源县| 高青县| 长白| 修水县| 鲁甸县| 长寿区| 梁山县| 平武县| 泰安市| 英吉沙县| 沁阳市| 深州市| 鹤壁市| 景宁| 新疆| 沙湾县| 新沂市| 金溪县| 昌都县| 眉山市| 黔江区| 博白县| 平度市| 广平县| 福海县| 五华县| 青阳县| 华坪县| 辽源市| 遵义市| 本溪| 柳州市| 太白县| 金秀| 乐业县| 巫山县| 芦山县| 濮阳市| 奉化市| 滦平县| 罗山县| 哈巴河县| 玉山县| 德格县| 天长市| 汕头市| 平利县| 双辽市| 乳山市| 美姑县| 岳池县| 义马市| 什邡市| 马龙县| 宜都市| 扎赉特旗| 枣阳市| 博野县| 鄯善县| 芦溪县| 渭源县| 静乐县| 宜州市| 海晏县| 葵青区| 镶黄旗| 休宁县| 海伦市| 康保县| 彰化市| 东乌| 金门县| 新晃| 阿克苏市| 闵行区| 潜江市| 迭部县| 阳曲县| 岳阳县| 简阳市| 灵武市| 罗甸县| 远安县| 绥化市| 慈溪市| 普兰县| 临泉县| 沙田区| 盈江县| 仙游县| 合山市| 康马县| 搜索| 偃师市| 宁南县| 黔江区| 双牌县| 湘阴县| 溧水县| 黔西| 广德县| 尼玛县| 平武县| 棋牌| 刚察县| 石家庄市| 宁乡县| 双桥区| 子洲县| 墨竹工卡县| 五原县| 秦安县| 广南县| 进贤县| 正镶白旗| 汝城县| 呼伦贝尔市| 土默特左旗| 太仆寺旗| 长葛市| 宁晋县| 浮梁县| 张家川| 新巴尔虎左旗| 巴南区| 新化县| 泸定县| 涿鹿县| 大洼县| 沙湾县| 松潘县| 新建县| 新源县| 合肥市| 奎屯市| 安阳县| 介休市| 南部县| 大城县| 姜堰市| 民县| 河间市| 潮安县| 大英县| 阳曲县| 高台县| 彝良县| 凭祥市| 敖汉旗| 仪陇县| 启东市| 舟曲县| 浦东新区| 百色市| 大同市| 兰西县| 昌乐县| 雷波县| 凤翔县| 咸宁市| 肥西县| 木里| 盐城市| 喜德县| 邢台县| 宜章县| 莎车县| 锡林浩特市| 墨玉县| 大同市| 永福县| 尼玛县| 米林县| 托里县| 阳泉市| 锦州市| 英超| 驻马店市| 贵溪市| 莒南县| 平阳县| 凉山| 石景山区| 邓州市| 凉山| 科技| 北宁市| 阿拉善左旗| 罗定市| 浏阳市| 红安县| 霍林郭勒市| 来凤县| 南江县| 安吉县| 澜沧| 蛟河市| 民乐县| 哈尔滨市| 连州市| 乌兰察布市| 若尔盖县| 曲麻莱县| 庆城县| 壶关县| 丰台区| 驻马店市| 高唐县| 邵东县| 惠来县| 平阴县| 报价| 吉安县| 荃湾区| 中江县| 景洪市| 延寿县| 通山县| 惠州市| 临夏市| 左云县| 义马市| 福安市| 安图县| 浑源县| 天水市| 娱乐| 磴口县| 子长县| 衢州市| 崇州市| 柏乡县| 云和县| 博爱县| 武宣县| 阳西县| 思南县| 曲松县| 贵南县| 镇巴县| 桂阳县| 瑞安市| 彭阳县| 张家界市| 锡林浩特市| 耿马| 达拉特旗| 杨浦区| 南雄市| 错那县| 西青区| 同江市| 鄂尔多斯市| 崇阳县| 浠水县| 舟山市| 永康市| 昭苏县| 永德县| 贵港市| 淮阳县| 凤阳县| 苗栗市| 东阿县| 陇西县| 济宁市| 商南县| 固阳县| 东光县| 清水河县| 新乐市| 福建省| 乐清市| 翁牛特旗| 元谋县| 苍梧县| 闸北区| 青铜峡市| 池州市| 元朗区| 汝城县| 开平市| 灵武市| 塔河县| 梨树县| 双城市| 莱芜市| 广灵县| 阳泉市| 鄯善县| 西华县| 武夷山市| 和林格尔县| 丰台区| 潮安县| 尼勒克县| 盐城市| 铅山县| 南漳县| 浦县| 广元市| 通江县| 武山县| 旬阳县| 平南县| 北海市| 泰顺县| 治多县| 福安市| 武强县| 金平| 抚松县| 城口县| 温泉县| 江阴市| 都昌县| 都匀市| 洪雅县| 邻水| 遂宁市| 衡南县| 景德镇市| 宣武区| 西平县| 黑山县| 岳阳县| 崇文区| 怀化市| 道真| 郑州市| 佛冈县| 安西县| 庆城县| 和田县| 武功县| 息烽县| 红河县| 盘山县| 理塘县| 临海市| 唐海县| 潞西市| 遂川县| 九寨沟县| 双城市| 芜湖市| 潼南县| 贵定县| 定州市| 松桃| 邛崃市| 靖边县| 紫金县| 抚松县| 三亚市| 霞浦县| http://www.yqo6j8rl4v.fun http://m.gz1980waterc.fun http://wap.bo2020generates.fun http://wap.bo2020zeros.fun http://wap.jvz0j7r1o.fun http://wap.gz1980chartc.fun http://m.bo2020letters.fun http://www.yqo7j1rl7v.fun http://www.jvz0j3r8o.fun http://m.gz1980zarc.fun http://m.bo2020charts.fun http://www.yqo1j0rl4v.fun http://wap.yqo0j1rl0v.fun http://www.gz1980izpactc.fun http://wap.gz1980sportc.fun