一、配置前准备
安装相应的编译工具
yum -y install gcc glibc automake autoconf libtool make
安装pcre实现rewrite功能
yum -y install pcre*
如有需求ssl 安全协议,可以安装下这个模块
yum -y install openssl*
gzip 类库安装
yum -y install zlib zlib-devel
官网下载nginx编译安装包
wget http://www.nginx.org/download/nginx-1.9.14.tar.gz
二、编译安装nginx
首先检测下yum安装的组件,如:
rpm -qa | grep gcc#其他类似
解压从官方下载的压缩包
tar -xvf nginx-1.9.14.tar.gz
用make进行编译安装
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre# 用 . /来执行安装命令,--with参数选择相应需求的模块#with-http_stub_status_module 支持nginx状态查询#with-http_ssl_module 支持https#with-pcre 支持rewrite重写功能
makemake install
三、建立网站目录及用户
新建wwwroot用户用于web管理
useradd wwwroot
建立www.test.com站点目录用于测试
mkdir -p /wwwroot/html/www.test.com/
更改站点目录属主和属组为wwwroot
chown -R wwwroot.wwwroot /wwwroot
四、修改nginx配置参数
vim /usr/local/nginx/conf/nginx.conf
user wwwroot wwwroot;
添加测试虚拟站点目录用于测试
server { listen 80 ; server_name www.test.com test.com; index index.html index.htm index.php; root /wwwroot/html/www.test.com; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /$document_root$fastcgi_script_name; include fastcgi_params; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\. { deny all; } error_log /wwwroot/wwwlogs/www.test.com.error.log; access_log /wwwroot/wwwlogs/www.test.com.access.log; }
五、核查nginx服务
启动nginx服务并加入开机自启
/usr/local/nginx/sbin/nginxecho '/usr/local/nginx/sbin/nginx' >> /etc/rc.local
参数说明
重读nginx配置文件
/usr/local/nginx/sbin/nginx -s reload
关闭nginx服务
/usr/local/nginx/sbin/nginx -s stop
启动服务器后核查访问
curl -s http://localhost | grep nginx.com#nginx.com.
六、扩展
nginx反向代理
server { listen 80; server_name ~^(www.)?(.+)$; location / { proxy_pass http://114.215.185.1 ; #location条件满足将请求转发给代理服务器 proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forward-For $remote_addr; } }
反向代理参数详解
#在代理向后端服务器发送的http请求头中加入host字段信息,用于当后端服务器配置有多个虚拟主机时,可以识别代理的是哪个虚拟主机。这是节点服务器多虚拟主机时的关键配置。 proxy_set_headerHost $host;#在代理向后端服务器发送的http请求头中加入X-Forwarded-For字段信息,用于后端服务器程序、日志等接收记录真实用户的IP,而不是代理服务器的IP。 proxy_set_header X-Forwarded-For $remote_addr;#设定反向代理与后端节点服务器连接的超时时间,即发起握手等候响应的超时时间。 proxy_connect_timeout60;#设定代理后端服务器的数据回传时间 proxy_send_timeout 60;#设定Nginx从代理的后端服务器获取信息的时间 proxy_read_timeout 60;#设定缓冲区的大小 proxy_buffer_size 4k;#设定缓冲区的数量和大小。nginx从代理的后端服务器获取的响应信息,会放置到缓冲区。 proxy_buffers 4 32k;#设定系统很忙时可以使用的proxy_buffers大小 proxy_busy_buffers_size 64k;#设定proxy缓存临时文件的大小 proxy_temp_file_write_size 64k;#对于以上参数的详细理解可见本文开头图解。
负载均衡
upstream serverpool { server 10.0.0.1:80 max_fails=3 fail_timeout=30 weight=1; server 10.0.0.2:80 max_fails=3 fail_timeout=30 weight=2; #max_fails=3 设置链接后端服务器3次失败则认为服务器无效状态 #fail_timeout 设置链接后端服务器超时时间 #weight 设置后端服务器负载权重 }
负载均衡调用
server { proxy_pass http://serverpool; }