|NO.Z.00002|——————————|^^ 构建 ^^|——|Nginx&Nginx.V1.16&部署&降级&升级.V1|

Posted yanqi_vip

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了|NO.Z.00002|——————————|^^ 构建 ^^|——|Nginx&Nginx.V1.16&部署&降级&升级.V1|相关的知识,希望对你有一定的参考价值。

一、从0构建nginx WEB平台
### --- 从0构建Nginx WEB平台

~~~     nginx是一款开源的,免费的WEB服务器软件,
~~~     2019年3月12日被F5硬件负载均衡厂家以6.7亿美金收购,
~~~     nginx主要使用于发布网站代码(开发人员编写的)提供网页信息服务的,
~~~     用户通过浏览器可以实现页面的访问:
~~~     nginx web软件默认只能给处理静态网页,不能直接处理动态网页,
~~~     动态网页交于第三方的程序去解析,
~~~     Nginx官方宣称祁处理静态网页的并发能力可以达到5w/s其相当于Apache WEB 整体性能的5~10倍
~~~     并发更高,性能更好(相对于Apache
### --- Apache:
~~~     是传统web服务器,开发与Nginx之前。现在nginx正在一步步取代Apache;
~~~     也是用来处理静态网页的;不能处理动态网页。

### --- Tomcat:
~~~     是Apache基金会旗下的一款产品:是处理动态网页的。
### --- 静态网页:
~~~     一般是跟后端数据库不发生交互的网页,网页内容很少更新或者几乎不更新。
~~~     网页文件后缀命名通常是以htm、html、xml等结尾的。

### --- 动态网页:
~~~     跟后端数据发生交互,网页内容经常更新,或者岁后端数据库内容变化而更新;
~~~     网页文件后缀以asp、php、jsp 等结尾。
二、基于Centos Linux 操作系统,从0开始构建一套Nginx WEB服务平台,主要有两种方式、
### --- 基于Centos Linux 操作系统,从0开始构建一套Nginx WEB服务平台,主要有两种方式、
### --- YUM二进制的方式:

~~~     部署方式相对比较简单,快捷高效,
~~~     可以自动校验软件的安全性可以自动校验软件包的正确性,
~~~     可以自动解决软件包之间的依赖关系。可以自动安装软件服务并设置为系统服务。
~~~     不能自定义软件服务特定的功能和模块。
~~~     默认安装完毕之后文件和目录相对比较分散,不变与后期的维护和管理。
### --- MAKE源码编译的方式:

~~~     相对较复杂,不能校验,不能自动安装系统的依赖,
~~~     自动配置自定义软件的模块和功能,安装目录比较统一,便于后期的维护和管理。

一、基于MAKE源码编译方式:
### --- 构建Nginx WEB平台,首先从Nginx官网下载Nginx软件包稳定的版本,nginx-1.160.tar.gz 
### --- 主机IP地址:192.168.1.81

[root@localhost ~]#     wget   -c  http://nginx.org/download/nginx-1.16.0.tar.gz   -P  /tmp/     // -c 断点续传,  -P 指定特定目录    下载nginx源码包。
[root@cdeba90ec46e ~]#  tar -zxvf nginx-1.16.0.tar.gz                                            // -x解压、-z gzip压缩、-v详细、-f文件
### --- 因为Nginx是基于C语言开发的源代码软件程序,默认不能被linux操作系统直接使用,需要借助C编译器将源代码编译器将源代码文件编译生成二进制文件,所以需执行源代码软件部署三步骤:

### --- 预编译:
~~~     主要是检测linux系统安装该软件所需的依赖环境、库文件、
~~~     检测linux系统是否存在GCC编译环境(C编译器),指定软件服务部署的路径,
~~~     自定义软件服务特定的模块和功能,最终会产生Makefile文件。
~~~     设置我们的用户和组www、便于后期管理我们的nginx,需要我们手动创建。
~~~     --with-http_stub_status_module  开启状态监控模块

[root@localhost nginx-1.16.0]#  ./configure --prefix=/usr/local/nginx  --user=www   --group=www  --with-http_stub_status_module   
### --- 编译:
~~~     主要通过make编译工具,读取Makefile文件,
~~~     调用linux操作系统下GCC编译环境(C编译器)将软件包中的源代码文件编译生成二进制文件,
~~~     Makefile文件用途,主要告知make编译工具,在编译源代码文件时,
~~~     在哪个源码开始编译至哪个源码结束编译。以及记录编译时的依赖关系

[root@localhost nginx-1.16.0]#  make  
cc -c                                                               // 只编译,不产生二进制文件
cc -o                                                               // 产生二进制文件
cc -o objs/nginx                                                    // 把这个文件拷贝到我们的安装目录之下。
[root@cdeba90ec46e nginx-1.16.0]# md5sum objs/nginx         
ec4cf649ae95588e9906eaa71baa354f  objs/nginx                        // 查看得objs/nginx文件的md5位354f
[root@cdeba90ec46e nginx-1.16.0]# md5sum /usr/local/nginx/sbin/nginx 
ec4cf649ae95588e9906eaa71baa354f  /usr/local/nginx/sbin/nginx       // nginx文件md5值是354f, 是因为make的时候把文件拷贝到安装目录之下
### --- 安装:主要是将第二步make编译产生的二进制文件,拷贝或者安装至linux操作系统指定的安装目录  --prefix=/usr/local/nginx

[root@localhost nginx-1.16.0]#  make install
[root@cdeba90ec46e nginx-1.16.0]# ls -l /usr/local/nginx/
total 0
drwxr-xr-x 2 root root 333 Nov  2 08:54 conf                        // 配置文件所在路径
drwxr-xr-x 2 root root  40 Nov  2 08:54 html                        // 发布目录,开发写的代码存放位置,
drwxr-xr-x 2 root root   6 Nov                                      // 日志文件
drwxr-xr-x 2 root root  19 Nov  2 08:54 sbin                        // 启动程序
二、配置后检查状态:
### --- 配置后检查状态:

[root@cdeba90ec46e ~]# /usr/local/nginx/sbin/nginx                  // 启动服务
[root@cdeba90ec46e ~]# ps -ef |grep nginx
root        3131       0  0 09:01 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
www         3132    3131  0 09:01 ?        00:00:00 nginx: worker process
root        3134     161  0 09:02 ?        00:00:00 grep --color=auto nginx
[root@cdeba90ec46e ~]# netstat -tunlp |grep -w 80  --color          // -w 打印出来,查看80端口
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3131/nginx: master

[root@cdeba90ec46e ~]# netstat -tunlp |grep -v 80                   // -v 取反。不看80端口
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      110/sshd            
tcp6       0      0 :::22                   :::*                    LISTEN      110/sshd            
### --- 开启防火墙的80 端口   //centos7
[root@cdeba90ec46e ~]#  firewall-cmd --add-port=80/tcp  --permanent 
 
### --- 开启80 端口         //centos6
[root@cdeba90ec46e ~]#  iptables -t filter -A INPUT -m tcp -p --dport 80 -j ACCEPT 
三、默认门户网站: |NO.Z.00002|——————————|^^
                 
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warmd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor
 

 

以上是关于|NO.Z.00002|——————————|^^ 构建 ^^|——|Nginx&Nginx.V1.16&部署&降级&升级.V1|的主要内容,如果未能解决你的问题,请参考以下文章