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
Nginx安装与升级相关推荐
- 源码安装nginx以及平滑升级
源码安装nginx以及平滑升级 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 这个博客不方便上传软件包,我给大家把软件包放到百度云 ...
- NGINX 安装、启停、平滑升级、配置文件详解
NGINX安装.启停.平滑升级 一.NGINX 安装 1.下载nginx 2.nginx解压安装 3.预先安装 4.nginx编译 5.安装nginx 6.查看安装路径 7.启动nginx 二.NGI ...
- http升级为https全过程(通过nginx安装SSL证书)
背景: 之前项目都是为集团内部提供服务的,很多接口都是内网访问,网络安全方面考虑不多.但是随着业务发展,可能要对外提供互联网服务了,一些安全方面的因素也要逐步考虑计划. 这次,就从最基本的域名安装SS ...
- nginx安装-添加MP4播放模块
nginx安装很简单,但是有的时候是已经安装的nginx ,升级增加nginx 模块功能. 最近公司要nginx增加一个可以播放 MP4的模块,安装还算顺利,不说废话上命令. 1 安装依赖 yum i ...
- nginx 安装与配置
centos7环境下nginx的安装 版本 0.85 tar zxvf nginx.tar.gz cd nginx ./configure // ./configure --help 查看编译选项 ...
- 查找nginx安装的路径以及相关安装操作命令
Linux环境下,怎么确定Nginx是以那个config文件启动的? [root@localhost ~]# ps -ef | grep nginx root 21196 1 0 23:40 ? 0 ...
- Nginx安装及其编译命令、详细教程
文章目录 安装 依赖环境 Nginx安装 1. 下载 2. 解压 3. 配置安装信息 4. 编译安装 5. 启动 命令 命令 启动 停止 从容停止 快速停止 强制停止所有nginx进程 平滑重启 安装 ...
- 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...
- 给lnmp一键包中的nginx安装openresty的lua扩展
lnmp一键包(https://lnmp.org)本人在使用之后发现确实好用,能帮助我们快速搭建起lnmp.lamp和lnmpa的web生产环境,因此推荐大家可以多试试.但有的朋友可能需要使用open ...
最新文章
- layoutSubviews总结(转)
- Python.Scrapy.12-scrapy-source-code-analysis-part-2
- c++构建工具之cmake使用小结
- k8---proxy
- Bootstrap禁用某个按钮组
- 1.5万转12Gbps 东芝发布全新企业硬盘AL14SX
- 用代码排出自己的名字
- atitit.报表最佳实践oae 与报表引擎选型
- 用DFS深度优先搜索求 1~n 的全排列
- 【软件相关】EPlan Electric P8 v2.7EPlan Harness ProD v2.7(新方法!)
- 2018年了,Windows2000还能用吗?
- 爱看小说网源码全站带数据打包ThinkPHP内核小说网站源码
- Mono.Cecil说明文档翻译
- JavaScript 时间格式化
- 如何在Ubuntu系统下装windows10双系统
- android studio无法识别mtk,Android6.0 MTK6737 长按 Power 没有真正关机 (MTK IPO 功能) · Younix’s Studio...
- 为你的树莓派WI-FI配置加密密码
- PS图层混合算法之二(线性加深,线性减淡,变亮,变暗)
- flume学习之一 是什么,主要应用在什么场景
- 程序员技术路线图(经典)
热门文章
- AUTOSAR工具DaVinci Configurator Pro介绍
- STM32无法停止定时器2(TIM2)的问题
- 计算机维护bios设置u盘启动不了,U盘装系统一直显示正在启动大白菜pe维护系统,就是进不去...
- linux dns unbound,unbound dns安装手记
- java 1.8 unbound,某个版本的JavaSE (unbound)的问题解决
- 2021年茶艺师(中级)考试总结及茶艺师(中级)在线考试
- C# 绘制Word图形、组合图形
- 永洪科技咨询总监:AI助力企业深度洞察数据
- java ssl连接(no cipher suites in common)
- bugku——滴答~滴(Morse Code)