设为首页 收藏本站
查看: 1600|回复: 6

[经验分享] Nginx的安装与详细配置

[复制链接]

尚未签到

发表于 2013-4-12 09:13:22 | 显示全部楼层 |阅读模式

本文主要针对Nginx的安装与详细配置介绍

注意:有些配置如果有web底子 应该好理解 如 请求头 超时时间 等
  这些都是http协议里的基本知识,当然没有也没关系
  本配置 只能供学习使用,如果是生产环境还需要根据自己的情况 修改配置
1. 安装Nginx所需要的pcre-devel库
tar -xvf pcre-8.02.tar.gz
cd pcre-8.02
make && make install

cd /lib64

ln -s libpcre.so.0.0.1 libpcre.so.1

如果不做这个链接的话 启动nginx会报错 就是找不到这个libpcre.so.1

2. 安装Nginx-1.2.5
tar -xvf nginx-1.2.5.tar.gz
cd nginx-1.2.5
./configure --prefix=/usr/local/nginx \  指定nginx的安装目录
       --with-http_stub_status_module \  启用nginx的status功能,可以监控nginx当前状态
       --with-http_gzip_static_module \  支持在线实时压缩输出数据流
       --with-google_perftools_module \  支持TCMalloc对Nginx性能的优化
make && make install

3. 配置Nginx 详细介绍
修改Nginx安装目录的conf/nginx.conf 文件
vi /usr/local/nginx/conf/nginx.conf

  3.1 Nginx的全局配置
user nobody nobody; 指定了Nginx Worker进程运行用户及用户组,此处是默认值
worker_processes 4;  指定了Nginx开启的进程数,如果多核CPU,就设置与CPU的核心数量一样多
error_log logs/error.log notice; 定义了全局错误日志 级别为notice
pid    logs/nginx.pid; 指定了nginx进程id存储文件的位置
worker_rlimit_nofile 65535;  用于绑定worker进程和CPU
events{   用来设定Nginx的工作模式以及连接数上限
  use epoll;  Nginx的工作模式,对于linux系统 epoll模式为首选
  worker_connections 1024; 每个进程的最大连接数  下面公式:
  }    max_clients=processes*connections
      最大连接数=进程数*每个进程最大连接数
      在作为反向代理时  还要除以4
进程的最大连接数受linux系统进程的最大打开文件数限制,在执行操作系统命令ulimit -n 60000 后
worker_connections的设置才能生效。

  3.2 Nginx对HTTP服务器相关属性配置
http{
include conf/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] '
  '"$request" $status $bytes_sent '
  '"$http_referer" "$http_user_agent" '
  '"$gzip_ratio"';
log_format download '$remote_addr - $remote_user [$time_local] '
  '"$request" $status $bytes_sent '
  '"$http_referer" "$http_user_agent" '
  '"$http_range" "$sent_http_content_range"';
client_max_body_size  20m;
client_header_buffer_size 32k;
large_client_header_buffers  4 64k;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 60;
client_header_timeout 10;
client_body_timeout 10;
send_timeout  10;
}
下面详细介一下以上配置的意思:
include    将外部的文件引入,减少主配置文件的复杂度
default_type  默认类型为二进制流
log_format   指定了Nginx日志的输出格式
client_max_body_size 允许客户端请求的最大的单个文件字节数
client_header_buffer_size 客户端请求头headerbuffer大小
large_client_header_buffers 客户端请求中较大的消息头的 个数 与 大小
sendfile 开启了高效文件传输模式
tcp_nopush 设置为on 防止网络阻塞
tcp_nodelay 设置为on 防止网络阻塞
keepalive_timeout 客户端连接保持活动的超时时间 超时后服务器关闭连接
client_header_timeout 客户端请求头超时时间 超时后Nginx返回Request time out(408)错误
client_body_timeout 客户端请求主体超时时间 超时后Nginx返回Request time out(408)错误
send_timeout 两个连接活动之间的时间,如果超过这个时间客户端没任何活动,Nginx将会关闭连接

  3.3 HTTP GZIP模块配置
gzip on;
gzip_min_length 1k;
gzip_buffers  4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types  text/plain application/x-javascript text/css application/xml;
gzip_very on;
下面详细介绍一下以上配置的意思:
gzip  设置开启gzip压缩,实时压缩输出数据流
gzip_min_length  允许压缩的页面最小值,页面字节数从header头的Content-Length中获取
      建议设置成大于1K的字节数,小于1K可能会越压缩越大
gzip_buffers 申请 4个 单位 为16k的内存作为压缩结果流缓存
gzip_http_version 设置识别HTTP协议版本 默认1.1  几乎所有浏览器都支持gzip压缩
gzip_comp_level 指定gzip的压缩比例 数值越小 压缩比越小 处理速度也快,反之越慢 也消耗CPU
gzip_types  用来指定压缩的类型
gzip_vary 开启前段的缓存服务器缓存经过gzip压缩的页面

  3.4 负载均衡配置
upstream tomcats{
ip_hash;
server 192.168.1.100:8080;
server 192.168.1.101:8080 down;
server 192.168.1.102:8080 max_fails=3 fail_timeout=20s;
}
下面详细介绍一下以上配置的意思:
Nginx的负载均衡模块目前支持4种调度算法,其中 后两项属于第三方调度算法

轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端有宕机,系统将自动剔除,不影响
  Weight 指定轮询的权值,Weight值越大 分配到的访问几率越高,应用于后端服务器性能不均的情况
ip_hash    来自同一个IP的访客将固定访问一个服务器,解决了动态网页存在session的问题

fair   根据页面大小和加载时间长短进行负载均衡,Nginx本身不支持fair,需要下载upstream_fair模块

url_hash  每个URL定向到同一个服务器,可以进一步提高缓存服务器的效率 也必须安装Nginx的hash软件包

负载均衡调度中的状态:
down,表示当前的server暂时不参与负载均衡
backup,预留备份机器,其他所有的非backup机器出现故障或者繁忙的时候,才会请求backup机器
max_fails 允许请求失败的次数   超过最大次数,返回proxy_next_upstream
fail_timeout 经理了max_fails次数失败后,暂停服务的时间  两个状态可以一起用

注意:在ip_hash调度时,负载均衡调度状态不能是weight 和backup

  3.5 server虚拟主机的配置
server{
listen 8080;  端口根据自己后端服务器情况而定 可以是80(apache或者nginx),8080(tomcat或者resin)
    也可以自定义 因为服务端口可以修改
server_name 192.168.1.100  www.abc.com;  可以是IP  也可以通过域名
index  index.html  index.htm  index.jsp;   设定访问默认首页的地址
root /www/abc 虚拟机的网页根目录
charset gb2312; 用于设置网页的编码格式  
access_log logs/abc.access.log main;   访问日志存放路径  用main指定输出格式
}

  3.6 URL 匹配的详细配置

location 支持正则表达式,也支持条件判断,用户可以通过location实现动静态分离
所有静态文件(html jpg)等都留下来自己处理  所有jsp动态文件交予tomcat处理

所有扩展名为.gif、.jpg、.png、,swf的静态文件都交给Nginx处理
location ~ .*\.(gif|jpg|png|swf)$ {
   root /web/abc;  网站根目录
   expires 30d;    指定静态文件的过期时间 这里是30天
  }

将网站根目录下的 upload目录 和 html目录 下的所有文件都交给nginx处理
location ~ ^/(upload|html)/ {
   root /web/abc;  网站根目录
   expires 30d;    指定静态文件的过期时间 这里是30天
  }

将虚拟主机下的所有.jsp后缀名的文件都交给本机的8080端口处理
location ~ .*.jsp$ {
   index index.jsp;
   proxy_pass http://localhost:8080;
  }

  3.7 错误信息返回页面配置
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location =  /50x.html {
    root html;  指定 返回错误后 从哪找错误页面
   }



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-5178-1-1.html 上篇帖子: nginx平滑升级步骤+keepalive 下篇帖子: LAMP编译安装过程图示详解 安装

尚未签到

发表于 2013-4-12 09:17:03 | 显示全部楼层
打破老婆终身制,实行小姨股份制。引入小姐竞争制,推广情人合同制。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 21:13:31 | 显示全部楼层
老天,你让夏天和冬天同房了吧?生出这鬼天气!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-20 09:34:15 | 显示全部楼层
有事秘书干,没事干秘书!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-22 19:31:14 | 显示全部楼层
解释就是掩饰,掩饰就是编故事!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-27 18:37:57 | 显示全部楼层
走自己的路,让别人打车去吧。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-31 21:51:27 | 显示全部楼层
我在马路边丢了一分钱

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表