CentOS 6.4安装Nginx

Nginx是一款性能很高的反向代理服务器,而且支持负载均衡的配置,很容易上手,配置简单。另外,Nginx通过模块可以很容易扩展,所以Nginx所拥有的功能集合也是很大的。这里不再累述,可以参考官网文档或者相关资料。
下面,我们在CentOS 6.4上安装配置Nginx。

安装Nginx
首先,需要下载Nginx签名文件:

wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

导入Nginx签名文件,执行如下命令:

sudo rpm --import nginx_signing.key

然后,可以进行安装了,执行如下命令:

sudo yum install nginx

安装过程中,可能会提示安装一些依赖软件包。
等待安装完成后,一些目录和文件的基本信息,如下所示:

  • 进程ID文件为/var/run/nginx.pid
  • Nginx的配置文件存放在/etc/nginx/目录下
  • 可执行程序文件为/usr/sbin/nginx
  • 站点默认目录为/usr/share/nginx/html
  • 错误日志路径为/var/log/nginx/error.log/li>
  • 访问日志路径为/var/log/nginx/access.log

验证安装
查看一下Nginx的帮助信息:

sudo /usr/sbin/nginx -h

测试当前Nginx默认配置文件/etc/nginx/nginx.conf是否可用,执行如下命令:

sudo /usr/sbin/nginx -t

启动服务
如果使用默认的配置文件/etc/nginx/nginx.conf来启动Nginx,执行如下命令:

sudo /usr/sbin/nginx

如果指定一个配置文件,例如:/home/shirdrn/servers/nginx/conf/nginx.conf,可以执行如下命令:

sudo /usr/sbin/nginx -c /home/shirdrn/servers/nginx/conf/nginx.conf

启动成功以后,可以查询Nginx进程:

ps -ef | grep nginx

如果修改了配置文件,需要重新加载,则可以执行如下命令:

sudo /usr/sbin/nginx -s reload

终止服务
终止Nginx服务,有两种模式:
一种是立即强制停止服务,执行如下命令:

sudo /usr/sbin/nginx -s stop

另一种是比较优雅的方式,不再接收新到达的请求,等待已经处理的请求完成,执行如下命令:

sudo /usr/sbin/nginx -s quit

配置示例
下面,给出一个简单的实现负载均衡的配置示例,nginx.conf配置内容,如下所示:

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

     upstream master {
          server slave1:8888 weight=1;
          server slave4:8888 weight=1;
          server slave6:8888 weight=1;
     }

     server {
          listen 80;
          server_name master;
          location / {
               root /usr/share/nginx/html/solr-cloud;
               index  index.html index.htm;
               proxy_pass   http://master;
               include /home/hadoop/servers/nginx/conf/proxy.conf
          }
     }

}

上面引用的/home/hadoop/servers/nginx/conf/proxy.conf文件,配置内容,如下所示:

proxy_redirect          off;
proxy_set_header        Host $host;
proxy_set_header        X-Real-IP $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   300;
proxy_send_timeout      300;
proxy_read_timeout      300;
proxy_buffer_size       4k;
proxy_buffers           4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

启动的时候,指定配置文件即可,例如,执行如下命令启动Nginx服务:

sudo /usr/sbin/nginx -c /home/shirdrn/servers/nginx/conf/nginx.conf

通过访问类似如下的链接,就能够通过Nginx来进行负载均衡,将请求分发到上面配置的3个服务器(slave1、slave2、slave3)上:


http://master/solr-cloud/mycollection/select?q=上海&fl=*&fq=building_type:1&facet=true&facet.field=category&start=0&rows=10

参考链接

Creative Commons License

本文基于署名-非商业性使用-相同方式共享 4.0许可协议发布,欢迎转载、使用、重新发布,但务必保留文章署名时延军(包含链接:http://shiyanjun.cn),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>