Nginx的介绍
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好
Nginx的优点
Nginx 可以在大多数 UnixLinux OS 上编译运行,并有 Windows 移植版。 Nginx 的1.4.0稳定版已经于2013年4月24日发布,一般情况下,对于新建站点,建议使用最新稳定版作为生产版本,已有站点的升级急迫性不高。
Nginx 的源代码使用 2-clause BSD-like license。
Nginx 是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性:
在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。
一、动静分离的简介
Nginx 的静态处理能力很强,常用处理静态请求,但是动态处理能力不足,因此,在企业中常用动静态分离技术。
针对 PHP 的动静分离,静态页面交给Nginx 处理,动态页面交给PHP-FPM模块或 Apache处理
在Nginx的配置中,是通过location 配置段配合正则匹配实现静态与动态页面的不同处理方式。
二、反向代理原理
Nginx 不仅能作为 Web服务器,还具有反向代理、负载均衡和缓存的功能。
Nginx 通过 proxy模块实现将客户端的请求代理至上游服务器,此时nginx与上游服务器的连接是通过http协 议进行的。
nginx 在实现反向代理功能时的最重要指令为:proxy_pass 它的处理逻辑将用户请求调度至上游服务器。
三、配置实验
3.1、实验要求
根据企业需要,将配置nginx 实现动静分离,对PHP页面的请求转发给LAMP 处理,而静态页面交给 nginx处理,以实现动静分离。
3.2、环境准备
准备两台centos虚拟机,第一台已经搭建好 Nginx配置,第二台用于搭建 LAMP平台。
3.3、架构LAMP
1、安装 http,关闭防火墙
systemctl stop firewalld
setenfoce 0
yum install httpd httpd-devel -y
#开启服务
systemctl start httpd
2、安装数据库MySQL,并开启服务
#安装 mariadb(简单,快捷,轻量级别的,安装便利)数据库
yum install mariadb mariadb-server mariadb-libs mariadb-devel -y
#启动 mariadb
systemctl start mariadb.service
#过滤看下
netstat -anpt | grep 3306
3、给MySQL数据库设置密码,进行数据库配置
mysql_secure_installstion
#回车
#给root 设置密码:abc123
#回车
#会显示Remove anonymouns users(匿名用户)-> N
#回车
#Disallow root login remotely(是否拒绝root远程登陆)-> N
#回车
#Remove test database and access to it(是否删除测试数据库)->N
#回车
#Reload pricilegs tables now(是否重新加载权限列表)-> Y
4、安装 php ,建立php和mysql关联
#安装php
yum install php -y
#安装 (建立php和mysql)关联插件
yum install php-mysql -y
5、安装php插件
#安装php插件
yum install -y php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath
6、新建PHP网页内容文件
cd /var/www/html
mv index.html index.php
vim index.php
<?php
echo "this is apache web";
?>
7、重启服务,在 ‘ nginx ’ 的浏览器中输入 192.168.111.141/index.php
#再重启服务
systemctl restart httpd.service
systemctl restart mariadb
3.4、架构Nginx的静态分离
nginx的安装已经提前配置好了,需要的可以看上一篇博客,链接为:Nginx 的配置
1、修改 Nginx 的配置文件,将PHP文件请求转发到 Apache 处理。
vim /usr/local/nginx/conf/nginx.conf
2、重启nginx服务
service nginx restart
3、在nginx的浏览器中访问网站:192.168.111.139/index.php 验证
. php是动态请求, html是静态请求。
. 如果是静态请求,Nginx直接进行处理,若是动态请求,nginx自动将动态请求转发给Apache处理。
访问网站:192.168.111.139/index.html
LAMP平台:192.168.111.141
Nginx平台:192.168.111.139
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。