CentOS 6 Nginx 安装与配置
一、安装环境包

在CentOS 6上安装Nginx之前,需要确保系统安装了g++、PCRE、OpenSSL和Zlib等依赖包,这些软件包是Nginx运行所必需的,可以通过以下命令来安装这些依赖:
安装gccc++ yum y install gccc++ 安装PCRE库 yum y install pcre pcredevel 安装Zlib库 yum y install zlib zlibdevel 安装OpenSSL库 yum y install openssl openssldevel
二、添加Nginx Yum源并安装
配置Yum源
需要配置Nginx的Yum源,这可以通过创建或修改/etc/yum.repos.d/nginx.repo文件来实现:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/6/$basearch/ gpgcheck=0 enabled=1
如果上述文件不存在,可以使用以下命令创建:
vi /etc/yum.repos.d/nginx.repo
然后在文件中添加上述内容。
安装Nginx
配置完Yum源后,通过以下命令来安装Nginx:

yum install nginx y
启动Nginx服务
安装完成后,可以通过以下命令启动Nginx服务:
service nginx start
要使Nginx开机自启动,可以使用:
chkconfig on nginx
三、Nginx基本配置
配置文件位置
Nginx的主配置文件通常位于/etc/nginx/nginx.conf,而虚拟主机配置文件则位于/etc/nginx/conf.d/目录下。
配置示例
以下是一个简单的Nginx配置示例,用于设置一个基本的web服务器:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}将上述配置添加到/etc/nginx/conf.d/default.conf文件中,然后重启Nginx服务:

service nginx restart
可以通过浏览器访问http://<your_server_ip>来查看Nginx的默认欢迎页面。
四、Nginx负载均衡配置
负载均衡概念
负载均衡是指将请求分摊到多个操作单元上进行执行,从而共同完成工作任务,Nginx支持多种负载均衡算法,如轮询(默认)、加权轮询、IP哈希等。
配置示例
以下是一个使用轮询(Round Robin)方式的负载均衡配置示例:
http {
upstream backend {
server 192.168.0.1;
server 192.168.0.2;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header XRealIP $remote_addr;
proxy_set_header XForwardedFor $proxy_add_x_forwarded_for;
proxy_set_header XForwardedProto $scheme;
}
}
}在这个示例中,所有的请求都将被分配到192.168.0.1和192.168.0.2这两台服务器上。
其他负载均衡策略
加权轮询
加权轮询允许为每个服务器设置权重,权重越高,接收到的请求越多。
upstream backend {
server 192.168.0.1 weight=3;
server 192.168.0.2;
}IP哈希
IP哈希可以确保来自同一IP地址的请求始终被分配到同一台服务器上,这对于需要会话保持的应用非常有用:
upstream backend {
ip_hash;
server 192.168.0.1;
server 192.168.0.2;
}五、常见问题及解答(FAQs)
Q1: Nginx启动失败怎么办?
A1: Nginx启动失败通常是由于配置文件错误引起的,可以通过以下步骤排查问题:
1、检查Nginx配置文件的语法是否正确:
nginx t
2、如果配置文件有误,根据提示修正后重新加载配置:
service nginx reload
3、查看日志文件获取更多信息:
tail f /var/log/nginx/error.log
Q2: 如何更改Nginx监听的端口数?
A2: 默认情况下,Nginx监听80端口,如果需要更改监听端口,可以在配置文件中修改listen指令,将监听端口改为8080:
server {
listen 8080;
server_name localhost;
...
}然后重启Nginx服务:
service nginx restart
