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