Nginx是个轻量级、高性能的web服务器。可以作为反向代理、负载均衡及缓存使用。Nginx比Apache有很多改进的地方,Nginx使用的是epoll模型,而Apache的Select模型,在处理大量读写上,Apache显得非常低效,并且linux下能够承受高并发访问的Menmcached软件采用的也是epoll模型,所以现在是Nginx的趋势。
1.关于搭建参考之前我之前搭建wordpress的博文,这里不再多说
==========================
(一)基于域名访问虚拟主机
==========================
虚拟主机可以简单理解成独立站点,基于域名访问的意思是可以通过不同的域名区分不同的虚拟主机,这也是企业应用中用途最广的一种方式。eg.www.google.com
1.创建一个站点目录和文件
mkdir /application/nginx/html/www
echo "i am google" >/application/nginx/html/www/index.html
2.虚拟主机配置代码
cat >>/application/nginx/conf/extra/www.conf<<-EOF
server {
listen 80;
server_name www.google.com;
location / {
root html/www;
index index.html index.htm;
}
}
EOF
3.配置Nginx.conf文件,在http区块中加入以下代码
include extra/*.conf;
重启Nginx服务
4. 添加hosts解析
echo '10.0.0.7 www.google.com' >>/etc/hosts
grep google /etc/hosts
5. 完成访问
============================
(二)基于ip 的虚拟主机配置
============================
同上,通过ip地址区分不同的虚拟主机,运用范围比较窄,了解即可.
1. 对之前www.conf的文件备份
cp /application/nginx/conf/extra/www.conf{,.bak}
2. 添加一个辅助ip,这里做实验以临时的演示,如果永久写入配置文件即可。
ip addr add dev eth1 10.0.0.77/24
用ping进行检测
3.修改配置文件
cat>>/application/nginx/conf/extra/www.conf<
4. 重启Nginx服务
5.完成访问 10.0.0.77 的虚拟主机
==========================
(三)基于端口的虚拟主机配置
==========================
通过端口区分不同的虚拟主机,此类虚拟主机对应的企业应用主要为公司内部的网站,例如一i额不希望对外提供用户访问的网站后台等,访问网站时,地址中需要带有端口号。
1. 对之前www.conf的文件备份
cp /application/nginx/conf/extra/www.conf{,.ip_bak}
2.修改虚拟主机站点配置
sed -i "s/80/81/g" /application/nginx/conf/extra/www.conf
grep 81 www.conf #检查修改
3. 重启Nginx服务
4.完成访问 10.0.0.77:81
============================
(四)配置多台虚拟主机方法
============================
可以将配置文件集中写入 nginx.conf 的http区块内,站点少的情况可以方便管理,其次Nginx的配置非常灵活,是支持include配置的,我推荐选用后者方法,不会因为虚拟主机过多导致维护起来很麻烦。
后续继续更新关于Nginx的优化.....