栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Nginx安装与升级

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Nginx安装与升级

目录

Nginx安装与升级

Nginx介绍

Web服务器对比

Nginx简介

Nginx的安装

安装准备与步骤

源码安装Nginx

升级Nginx服务器

Nginx平滑升级


Nginx安装与升级

Nginx介绍

Web服务器对比

Unix和Linux平台下

—— Apache、Nginx(engine x、x引擎)、Tengine(Nginx的改良版)、Lighttpd

—— Java:Tomcat、IBM WebSphere、Jboss

—— 在同样配置的情况下相比于Apache,Nginx的性能更高,对于CPU和内存的消耗更低,并发量更高(并发量:同一时间内连接服务器的数量)

—— Tengine是由淘宝网发起的Web服务器项目,在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性

Windows平台下

—— 微软公司的IIS(Internet Information Server)

Nginx简介

Nginx("engine x")

—— 是俄罗斯人编写的十分轻量级的HTTP服务器

—— 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器

—— 官方网站:http://nginx.org

Nginx的安装

安装准备与步骤

准备所需的所有虚拟机,实验环境所需要的主机及对应的IP设置如表所示:

主机名

IP地址

client

ens33(192.168.159.10/24)

proxy

ens33(192.168.159.5/24)

ens37(192.168.100.5/24)

注:ens33的网络模式是NAT,ens37的网络模式是仅主机

在IP地址为192.168.159.5的主机上安装部署Nginx服务,要求编译时使用如下功能:

支持SSL加密功能

涉案之Nginx账户及组名称均为nginx

Nginx服务器升级到更高版本

然后客户端访问页面验证Nginx Web服务器:

使用火狐浏览器访问

使用curl访问

源码安装Nginx

1、使用源码包安装Nginx软件包

[root@proxy ~]# yum -y install gcc pcre-devel openssl-devel       //安装依赖包,解决依赖关系

[root@proxy ~]# useradd -s /sbin/nologin nginx

[root@proxy ~]# tar -zxvf nginx-1.10.3.tar.gz

[root@proxy ~]# cd nginx-1.10.3/

[root@proxy nginx-1.10.3]# ./configure

> --prefix=/usr/local/nginx              //指定安装路径(默认安装路径为/usr/local/nginx)

> --user=nginx                                 //指定账户名称

> --group=nginx                              //指定组名称

> --with-http_ssl_module                  //支持SSL加密功能(SSL模块)

//注意:指定是账户和组是为了避免使用root启动程序,这样可以保证系统的安全性

[root@proxy nginx-1.10.3]# make && make install     //编译并安装

[root@proxy nginx-1.10.3]# cd /usr/local/nginx/

[root@proxy nginx]# ls      //目录/usr/local/nginx/下有这些文件说明安装成功

conf  html  logs  sbin

2、nginx命令的用法

[root@proxy ~]# /usr/local/nginx/sbin/nginx     //启动服务

[root@proxy ~]# /usr/local/nginx/sbin/nginx -s stop     //关闭服务

[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload     //重新加载配置文件

[root@proxy ~]# /usr/local/nginx/sbin/nginx -V     //查看软件信息

[root@proxy ~]# ln -s /usr/local/nginx/sbin/nginx /sbin/      //创建快捷方式,方便后期使用,选择性使用,也可以不创建快捷模式

3、查看nginx服务的监听端口

netstat命令可以查看系统中启动的端口信息,该命令常用选项如下:

-a 显示所有端口的信息

-n 以数字格式显示端口号

-t 显示TCP连接的端口

-u 显示UDP连接的端口

-l 显示服务正在监听的端口信息,如httpd启动后,会一直监听80端口

-p 显示监听端口的服务名称是什么(也就是程序名称)

nginx 服务默认通过TCP 80端口监听客户端请求:

[root@proxy ~]# /usr/local/nginx/sbin/nginx

[root@proxy ~]# netstat -lntup | grep nginx

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      68491/nginx: master

4、设置防火墙与SELinux(非必须的操作,如果有则关闭)

[root@proxy ~]# systemctl stop firewalld

[root@proxy ~]# setenforce 0

5、测试首页文件

Nginx Web服务默认首页文档存储目录为/usr/local/nginx/html/,在此目录下默认有一个名为index.html的文件,使用客户端访问测试页面:

[root@client ~]# curl http://192.168.159.5

Windows谷歌浏览器访问:

升级Nginx服务器

Nginx平滑升级

需要升级的原因

—— 旧版本出现漏洞,需要升级为新版本解决

—— 需要某些功能模块,但是前期没有添加,由于nginx不能动态添加模块,所以需要通过升级来添加所需要的模块。

升级时的注意事项

—— 在生产环境中,不需要升级conf(配置文件),配置文件中有之前修改的策略与优化,否则会导致之前的配置丢失和失效。

—— 不需要升级html(页面内容文档),否则会导致内面内容丢失。

—— 不需要升级logs(日志文件)

1、编译新版本Nginx软件

[root@proxy ~]# cd /usr/local/nginx/

[root@proxy nginx]# ls

//注:软件升级到新版本的时候,不需要升级conf(配置文件)、html(页面内容文档)、logs(日志文件),只需要升级sbin(主程序文件);可以跨版本升级(不要一次性跨太多版本),避免出现兼容性的问题。

[root@proxy ~]# tar -xvf nginx-1.12.2.tar.gz

[root@proxy ~]# cd nginx-1.12.2/

[root@proxy nginx-1.12.2]# ./configure

> --user=nginx

> --group=nginx

> --with-http_ssl_module

[root@proxy nginx-1.12.2]# make

[root@proxy ~]# cd /usr/local/nginx/sbin/           //1.10版本的Nginx所在的路径

[root@proxy sbin]# ls             //1.10版本的Nginx

nginx                               

[root@proxy sbin]# cd /root/nginx-1.12.2/objs         //1.12版本的Nginx所在的路径

[root@proxy objs]# ls            //1.12版本的Nginx

2、备份老的nginx主程序,并使用编译好的新版本nginx替换老版本

[root@proxy nginx-1.12.2]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old     //为了安全,不删除老版本,让老版本作为备份

[root@proxy nginx-1.12.2]# ls /usr/local/nginx/sbin/

nginx.old

[root@proxy nginx-1.12.2]# pwd

/root/nginx-1.12.2

[root@proxy nginx-1.12.2]# cp objs/nginx /usr/local/nginx/sbin/       //拷贝新版本的nginx

[root@proxy nginx-1.12.2]# ls /usr/local/nginx/sbin/        //新版本和老版本的备份

nginx  nginx.old

[root@proxy nginx-1.12.2]# make upgrade      //升级:关闭老的程序(nginx1.10)启动新的程序(1.12);可能会报错,因为老版本的nginx进程可能无法关闭,如果出现这种状况,我们就使用killall nginx杀死进程后在启动nginx

[root@proxy ~]# /usr/local/nginx/sbin/nginx -V      //查看nginx版本,查看是否升级成功

3、客户端访问测试

分别使用浏览器和命令行工具curl测试服务器页面

如果使用firefox火狐浏览器,注意在ssh远程的时候一定要加-X选项

[root@proxy ~]# ssh -X root@192.168.159.10

[root@client ~]# firefox http://192.168.159.5

[root@client ~]# curl http://192.168.159.5

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/740780.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号