2021年6月

1. 常见web服务器:

nginx、tengine、httpd、tomcat、IIS、lighttpd

httpd|IIS        政府类,银行用的居多
nginx|tomcat|tengine        社区,电商用的多

nginx        京东、腾讯网、新浪、it猿网
httpd        中国人民政府网站、建设银行..
IIS            招商银行、中国银行、工商银行、农业银行...    
tengine     简书、csdn、淘宝...

2. nginx 的发展:

  • 第一个公开版本0.1.0发布于2004年10月4日。
  • Nginx 的1.4.0稳定版已经于2013年4月24日。
  • Nginx目前最新的版本是1.20.1,于 2021-05-25号发布。

3. nginx的安装方式:

  • YUM安装部署
  • 源码安装部署
3.1 yum安装:
3.1.1 配置yum仓库:

image-20210703121626903.png

  • 点击 当前页最下方的stable and mainline:

image-20210703121805356.png

  • 然后选择RHEL/CentOS:
    image-20210703121849053.png
  • 复制配置文件,创建nginx.repo文件:
vim /etc/yum.repos.d/nginx.repo

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
  • 现在就可以直接安装了,默认情况是安装稳定版的:
3.1.1 安装稳定版本:
[root@localhost ~]# yum install nginx -y
[root@localhost ~]# nginx -v
nginx version: nginx/1.20.1
3.1.2 安装主线版本:
# 先安装yum的扩展包,开启nginx的主线版本仓库:
yum  install yum-utils -y
yum-config-manager --enable nginx-mainline
yum install nginx -y

这个时候nginx 1.20的版本会直接被升级。

[root@localhost ~]# nginx -v
nginx version: nginx/1.21.0
3.2 源码安装:

登录http://nginx.org官网,点击右侧的download

image-20210630081228666.png

  • 主线版本:也叫开发版本,目前最新但是还没有经过大量测试的版本。
  • 稳定版本:稳定版通常是经过大量测试的,相对比较稳定的版本,企业中我们也会使用稳定版。
  • 历史版本:通常是往期的稳定版本。
3.2.1 下载包:
# 选择想要下载的版本,直接单击右键复制地址下载:
wget http://nginx.org/download/nginx-1.18.0.tar.gz
3.2.2 安装依赖:
yum install gcc  gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
3.2.3 解压包:
tar xf nginx-1.18.0.tar.gz
cd nginx-1.18.0
3.2.4 预编译:
预编译主要是用来检查系统环境是否满足安装软件包的条件,
并生成Makefile文件,该文件为编译、安装、升级nginx指明了相应参数。

./configure --help 可以查看预编译参数
--prefix       指定nginx编译安装的目录;
--user=***     指定nginx的属主
--group=***    指定nginx的属主与属组
--with-***     指定编译某模块
--without-**   指定不编译某模块
--add-module   编译第三方模块

开始预编译:

./configure --prefix=/usr/local/nginx
[root@www nginx-1.18.0]# cat Makefile 

default:    build

clean:
    rm -rf Makefile objs

build:
    $(MAKE) -f objs/Makefile

install:
    $(MAKE) -f objs/Makefile install

modules:
    $(MAKE) -f objs/Makefile modules

upgrade:
        /usr/local/nginx/sbin/nginx -t
    kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
    sleep 1
    test -f /usr/local/nginx/logs/nginx.pid.oldbin

    kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

make clean : 重新预编译时,通常执行这条命令删除上次的编译文件
make build : 编译,默认参数,可省略build参数
make install : 安装
make modules : 编译模块
make  upgrade : 在线升级
3.2.5 编译并安装
make  &&  make install
3.2.6 查看版本
/usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.18.0
3.2.7 启动nginx:
/usr/local/nginx/sbin/nginx
3.2.8 检查进程及端口:
# 查看进程:
[root@localhost ~]# ps -ef|grep nginx
root      6853     1  0 20:27 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody    7839  6853  0 21:35 ?        00:00:00 nginx: worker process
# 查看端口
[root@localhost ~]# netstat -ntlp|grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6853/nginx: master

可以看到端口及进程表示nginx WEB服务已经搭建成功!

更多精彩内容更新,欢迎大家关注我的知乎:运维朱工