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