您的位置:首页 > 运维架构 > Nginx

Linux深入篇之一:配置Nginx Web服务器及多域名主机

2015-08-06 09:50 686 查看
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 blocklocation是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 -yyum -y install openssl openssl-develyum install gcc-c++ -y2、下载Nginx源码包
cd /soft/wget -c http://nginx.org/download/nginx-1.6.3.tar.gz3、解压Nginx源码包tar -xzf nginx-1.6.3.tar.gz4、新建用户:useradd www 5、预编译Nginx./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module;echo $?[b]注:--with-http_stub_status_module:表示可以查看到当前Nginx的连接数;[/b]6、.configure预编译成功后,执行make命令进行编译和安装:make && make install;echo $?自此Nginx安装完毕!
7、检查nginx配置文件是否正确,返回OK即正确!/usr/local/nginx/sbin/nginx -t

8、启动nginx:/usr/local/nginx/sbin/nginx 或者[b]/usr/local/nginx/sbin/nginx -s reload[/b] 平滑重启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 [b]/usr/local/nginx/html/[/b],被修改过的测试页面效果:



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.3vim src/core/nginx.h

然后sed修改Nginx版本信息为:WSsed -i -e 's/1.6.3//g' -e 's/nginx\//WS/g' -e 's/"NGINX"/"WS"/g' src/core/nginx.h



再次查看当前的版本号:




本文出自 “柏书兵-系统运维” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: