CentOS 6.5 下 Nginx 的安装与配置
在 CentOS 6.5 上安装和配置 Nginx,可以通过编译安装或使用 YUM 包管理器进行,以下是两种方法的详细步骤。
通过编译安装 Nginx
1. 准备工作
需要先安装一些依赖包:
yum install gccc++ yum y install pcre* yum y install openssl
2. 下载 Nginx
从官网下载 Nginx 源码包(这里以 1.9.9 为例):
cd /usr/local/ wget http://nginx.org/download/nginx1.9.9.tar.gz
3. 解压及编译安装
解压下载的 Nginx 源码包:
tar zxvf nginx1.9.9.tar.gz
进入解压后的目录:
cd nginx1.9.9
设置安装目录为/usr/local/nginx
:
./configure prefix=/usr/local/nginx make make install
4. 启动 Nginx
进入安装目录并启动 Nginx:
cd /usr/local/nginx/sbin ./nginx
重启 Nginx 的命令:
./nginx s reload
通过 YUM 安装 Nginx
1. 配置 YUM 源
创建源配置文件:
cd /etc/yum.repos.d/ vim nginx.repo
添加以下内容到配置文件中:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
保存并退出文件。
2. 安装 Nginx
直接通过 YUM 安装 Nginx:
yum install nginx y
启动 Nginx 服务:
/etc/init.d/nginx start
3. 检查安装状态
访问服务器的 IP 地址,如果看到 Nginx 欢迎页面,则表示安装成功。
Nginx 配置文件说明
Nginx 的主要配置文件位于/etc/nginx/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/octetstream; 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; keepalive_timeout 65; include /etc/nginx/conf.d/*.conf; }
这个配置文件定义了基本的 HTTP 服务器设置,包括日志格式、访问日志路径等,可以根据实际需求进行修改。
常见问题解答 (FAQs)
Q1: Nginx 启动后无法访问网站?
A1: 确保 Nginx 服务已经启动并监听正确的端口,可以使用命令netstat tuln | grep nginx
查看 Nginx 是否在监听预期的端口(默认是80),Nginx 没有正常启动,可以查看/var/log/nginx/error.log
中的日志信息,找出具体的错误原因,确保防火墙允许 HTTP 请求通过。
Q2: 如何配置 Nginx 作为反向代理?
A2: 配置 Nginx 作为反向代理,需要在nginx.conf
文件中添加相应的配置,将请求转发到另一个服务器的8080端口:
server { listen 80; server_name yourdomain.com; location / { proxy_pass http://backend_server:8080; 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; } }
这段配置会将来自客户端的所有请求转发到后端服务器backend_server
的 8080 端口,同时保留客户端的 IP 地址和协议信息。