一、网站访问流程
完整的请求流程:
1.用户在自己的浏览器中输入一段web请求地址
2.浏览器会对这个请求进行拆分:
ip地址找对应的服务器
port端口找服务器上监听该端口的服务
然后将最后的具体请求交给web服务去处理
3.web服务接收该请求后,处理该请求
4.如果遇到一些数据处理,需要到后端的数据库服务获取数据
5.数据库服务返回数据给web服务
6.web服务生成完整的web网页,以数据报文的形式发送到客
户端浏览器
7.浏览器渲染web网页,最后展示给用户
二、LNMP简介
互联网公司最常用的经典Web服务环境组合就是LAMP(即Linux、Apache、MySQL、PHP),近几年随着Nginx Web服务的逐渐流行,又出现了新的Web服务环境组合——LNMP或LEMP,其中LNMP为Linux、Nginx、MySQL、PHP等首字母的缩写,而LEMP中的E则表示Nginx。现在,LNMP已经逐渐成为国内大中型互联网公司网站的主流组合环境。
---LNMP 之 N
Nginx作为Web服务器的主要应用场景包括:
Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,如果一个网站只是静态页面的话,那么就可以通过这种方式来实现部署。(使用Nginx运行HTML、JS、CSS、小图片等静态数据)
Nginx结合FastCGI运行PHP等动态程序(例如使用fastcgi_pass方式)。
反向代理应该是Nginx使用最多的功能了,反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
三、安装nginx过程中碰到的问题
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option
说是一个PCRE文件有问题自己摸索了一下:
1.rpm -e --nodeps pcre
2.wget http://sourceforge.net/projects/pcre/files/pcre/8.32/pcre-8.32.tar.gz/download
3.tar -xzvf pcre-8.32.tar.gz
4.cd pcre-8.32
5./configure --prefix=/usr/local/pcre
6.make && make install
四、安装配置nginx
1.安装nginx软件的基本依赖软件
yum install openssl-devel pcre-devel gcc -y
2.编译安装nginx
注意:编译安装nginx的时候,应该有一个专用的启动用户,我们把这个用户设置为 www。
tar xf nginx-1.10.2.tar.gz
cd nginx-1.10.2
./configure --prefix=/data/server/nginx
make
make install
3.创建专用的启动用户www
useradd www -s /sbin/nologin -M
4.修改配置文件
vim /data/server/nginx/conf/nginx.conf
注意:将user后面的nobody更改为www
五、检查效果
1.启动nginx
[root@ccy ~]# /data/server/nginx/sbin/nginx
2.检查端口
[root@ccy ~]# netstat -tnulp | grep nginx
六、nginx命令简介
1. 检查nginx
[root@ccy ~]# /data/server/nginx/sbin/nginx -t
2. 启动nginx
[root@ccy ~]# /data/server/nginx/sbin/nginx
3. 关闭nginx
[root@ccy ~]# /data/server/nginx/sbin/nginx -s stop
4.启动后检查
[root@ccy ~]# netstat -tnulp | grep nginx
说明:Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。
其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。./configure --prefix=/usr/local/test可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)
七、配置文件介绍
默认配置文件:.../nginx/conf/nginx.conf
Nginx配置文件主要分成四部分:main(全局设置)、server(主机设置)、upstream(上游服务器 设置,主要为反向代理、负载均衡相关配置)和 location(URL匹配特定位置后的设置),每部分包含若干个指令。main部分设置的指令将影响其它所有部分的设置;server部分的指令主要用于指定虚拟主机域名、IP和端口;upstream的指令用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡;location部分用于匹配网页位置(比如,根目录“/”,“/images”,等等)。他们之间的关系式:server继承main,location继承server;upstream既不会继承指令也不会被继承。它有自己的特殊指令,不需要在其他地方的应用
注意:
以上环境是在centos6.10下部署,nginx是1.10
后续正在更新中。。。。