目录

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

Nginx安装与升级相关推荐

  1. 源码安装nginx以及平滑升级

    源码安装nginx以及平滑升级 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 这个博客不方便上传软件包,我给大家把软件包放到百度云 ...

  2. NGINX 安装、启停、平滑升级、配置文件详解

    NGINX安装.启停.平滑升级 一.NGINX 安装 1.下载nginx 2.nginx解压安装 3.预先安装 4.nginx编译 5.安装nginx 6.查看安装路径 7.启动nginx 二.NGI ...

  3. http升级为https全过程(通过nginx安装SSL证书)

    背景: 之前项目都是为集团内部提供服务的,很多接口都是内网访问,网络安全方面考虑不多.但是随着业务发展,可能要对外提供互联网服务了,一些安全方面的因素也要逐步考虑计划. 这次,就从最基本的域名安装SS ...

  4. nginx安装-添加MP4播放模块

    nginx安装很简单,但是有的时候是已经安装的nginx ,升级增加nginx 模块功能. 最近公司要nginx增加一个可以播放 MP4的模块,安装还算顺利,不说废话上命令. 1 安装依赖 yum i ...

  5. nginx 安装与配置

    centos7环境下nginx的安装  版本 0.85 tar zxvf nginx.tar.gz cd nginx ./configure // ./configure --help 查看编译选项 ...

  6. 查找nginx安装的路径以及相关安装操作命令

    Linux环境下,怎么确定Nginx是以那个config文件启动的?  [root@localhost ~]# ps -ef | grep nginx root 21196 1 0 23:40 ? 0 ...

  7. Nginx安装及其编译命令、详细教程

    文章目录 安装 依赖环境 Nginx安装 1. 下载 2. 解压 3. 配置安装信息 4. 编译安装 5. 启动 命令 命令 启动 停止 从容停止 快速停止 强制停止所有nginx进程 平滑重启 安装 ...

  8. 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级

     1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...

  9. 给lnmp一键包中的nginx安装openresty的lua扩展

    lnmp一键包(https://lnmp.org)本人在使用之后发现确实好用,能帮助我们快速搭建起lnmp.lamp和lnmpa的web生产环境,因此推荐大家可以多试试.但有的朋友可能需要使用open ...

最新文章

  1. layoutSubviews总结(转)
  2. Python.Scrapy.12-scrapy-source-code-analysis-part-2
  3. c++构建工具之cmake使用小结
  4. k8---proxy
  5. Bootstrap禁用某个按钮组
  6. 1.5万转12Gbps 东芝发布全新企业硬盘AL14SX
  7. 用代码排出自己的名字
  8. atitit.报表最佳实践oae 与报表引擎选型
  9. 用DFS深度优先搜索求 1~n 的全排列
  10. 【软件相关】EPlan Electric P8 v2.7EPlan Harness ProD v2.7(新方法!)
  11. 2018年了,Windows2000还能用吗?
  12. 爱看小说网源码全站带数据打包ThinkPHP内核小说网站源码
  13. Mono.Cecil说明文档翻译
  14. JavaScript 时间格式化
  15. 如何在Ubuntu系统下装windows10双系统
  16. android studio无法识别mtk,Android6.0 MTK6737 长按 Power 没有真正关机 (MTK IPO 功能) · Younix’s Studio...
  17. 为你的树莓派WI-FI配置加密密码
  18. PS图层混合算法之二(线性加深,线性减淡,变亮,变暗)
  19. flume学习之一 是什么,主要应用在什么场景
  20. 程序员技术路线图(经典)

热门文章

  1. AUTOSAR工具DaVinci Configurator Pro介绍
  2. STM32无法停止定时器2(TIM2)的问题
  3. 计算机维护bios设置u盘启动不了,U盘装系统一直显示正在启动大白菜pe维护系统,就是进不去...
  4. linux dns unbound,unbound dns安装手记
  5. java 1.8 unbound,某个版本的JavaSE (unbound)的问题解决
  6. 2021年茶艺师(中级)考试总结及茶艺师(中级)在线考试
  7. C# 绘制Word图形、组合图形
  8. 永洪科技咨询总监:AI助力企业深度洞察数据
  9. java ssl连接(no cipher suites in common)
  10. bugku——滴答~滴(Morse Code)