Linux深入篇之一:配置Nginx Web服务器及多域名主机
一、Nginx简介
nginx [engine x]是Igor Sysoev编写的一个HTTP和反向代理服务器,另外它也可以作为邮件代理服务器。 它已经在众多流量很大的俄罗斯网站上使用了很长时间,这些网站包括Yandex、Mail.Ru、VKontakte,以及Rambler。
据Netcraft统计,在2012年8月份,世界上最繁忙的网站中有11.48%使用Nginx作为其服务器或者代理服务器。目前互联网主流公司360、百度、新浪、腾讯、阿里等都在使用nginx作为自己的web服务器。
Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。
Nginx相对于Apache优点:
1) 高并发响应性能非常好,官方Nginx处理静态文件并发5w/s次并发连接数
2) 反向代理性能非常好。(可用于负载均衡)
3) 内存和cpu占用率低。(为Apache的1/5-1/10)
4) 功能较Apache少(常用功能均有)
5)对php可使用cgi方式和fastcgi方式。
附:Nginx反向代理负载均衡动静分离系统的架构图:
二、配置Nginx Web
1、先需要安装pcre库
安装pcre支持rewrite库,也可以安装源码,注*安装源码时,指定pcre路径为解压
源码的路径,而不是编译后的路径,否则会报错
(make[1]: *** [/usr/local/pcre/Makefile] Error 127 错误)
yum install pcre-devel pcre -y
yum -y install openssl openssl-devel
yum install gcc-c++ -y
2、下载Nginx源码包
cd /soft/
wget -c http://nginx.org/download/nginx-1.6.3.tar.gz
3、解压Nginx源码包
tar -xzf nginx-1.6.3.tar.gz
4、新建用户:useradd www
5、预编译Nginx
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module;echo $?
注:--with-http_stub_status_module:表示可以查看到当前Nginx的连接数;
6、.configure预编译成功后,执行make命令进行编译和安装:
make && make install;echo $?
自此Nginx安装完毕!
7、检查nginx配置文件是否正确,返回OK即正确!
/usr/local/nginx/sbin/nginx -t
8、启动nginx:/usr/local/nginx/sbin/nginx 或者
/usr/local/nginx/sbin/nginx -s reload 平滑重启
9、查看进程是否已启动:
[root@localhost ~]# ps -ef |grep nginx
10、停止nginx进程:
10、打开首页:
11、nginx目录
配置文件目录: /usr/local/nginx/conf/nginx.conf
主发布目录: /usr/local/nginx/html/
启动命令:/usr/local/nginx/sbin/nginx
日志目录:/usr/local/nginx/logs
12、修改默认的发布页面为:vi /usr/local/nginx/html/,被修改过的测试页面效果:
13、配置文件
查看配置文件(过滤#和空格部分):
将过滤后的文件导入到新的配置文件nginx01.conf,将原始配置文件备份为nginx_bak.conf,最后将过滤后的文件复制到nginx.conf:
三、配置Nginx多域名主机
方法1:直接在主配置文件中添加多域名主机
访问这两个测试页面:
再将首页面修改成自定义的页面,测试并重启nginx服务:
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload
打开测试页面:
再使用ip来访问:访问到的是第一个虚拟主机的页面!
将第一个虚拟主机的页面移走,再次用ip访问来测试打开的页面:
这页面表示:没有访问权限,或者访问目录不存在!
这种情况下就无法访问到第二个虚拟主机的页面!
方法2:在Nginx主配置中调用,单独配置的vhost文件
将虚拟主机配置文件独立:
1、定义vhosts.conf
2、定义nginx.conf文件
3、定义本地hosts文件
4、配置多个虚拟主机的发布目录、重启nginx服务,打开测试页面:
四、修改版本号
Nginx当前的版本号为1.6.3
输入不存在访问页面时,会出现Nginx的版本号
可以将Nginx的版本号隐藏Nginx的版本号
进入解压目录:
cd nginx-1.6.3
vim src/core/nginx.h
然后sed修改Nginx版本信息为:WS
sed -i -e 's/1.6.3//g' -e 's/nginx\//WS/g' -e 's/"NGINX"/"WS"/g' src/core/nginx.h
再次查看当前的版本号:
转载于:https://blog.51cto.com/baishubing/1682137