基于centos7的nginx安装部署
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仓库:
- 登录http://nginx.org官网,点击右侧的download:
- 点击 当前页最下方的stable and mainline:
- 然后选择RHEL/CentOS:
- 复制配置文件,创建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:
- 主线版本:也叫开发版本,目前最新但是还没有经过大量测试的版本。
- 稳定版本:稳定版通常是经过大量测试的,相对比较稳定的版本,企业中我们也会使用稳定版。
- 历史版本:通常是往期的稳定版本。
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服务已经搭建成功!
更多精彩内容更新,欢迎大家关注我的知乎:运维朱工