Nginx安装与常见命令

news2024/11/18 15:33:39

一、Nginx简介

官方文档:https://www.nginx.com/
Nginx中文文档:https://nginx.cn/doc/index.html

Nginx由俄罗斯人(Igor Sysoev)编写的轻量级Web服务器,它的发音为 [ˈendʒɪnks] 。

Nginx 不仅是一款高性能的 HTTP服务器和反向代理服务器,同时也支持 IMAP/POP3/SMTP代理服务。

Nginx应用场景:

  • 1)http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。
  • 2)虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
  • 3)反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
  • 4)正向代理
  • 5)动静分离
  • 6)负载均衡
  • 7)集群高可用。

二、Nginx安装

Nginx的安装方式有很多种,一般我们使用的是tar.gz安装 Nginx。这里使用 nginx安装。

1、安装前环境库安装

第一步:安装gcc库。

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc环境,需要安装 gcc。

## 检查是否安装命令
[root@centos7 ~]# rpm -q gcc-c++
未安装软件包 gcc-c++ 
## 安装命令
[root@centos7 ~]# yum -y install gcc-c++
已加载插件:fastestmirror
.......
[root@centos7 ~]# rpm -q gcc-c++
gcc-c++-4.8.5-36.el7.x86_64

第二步:安装pcre库。

PCRE(Perl Compatible Regular Expressions)是一个 Perl 库,包括 perl 兼容的正则表达式库。

nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库。

## 检查是否安装命令
[root@centos7 ~]# rpm -q pcre pcre-devel
pcre-8.32-17.el7.x86_64
未安装软件包 pcre-devel
## 安装命令
[root@centos7 ~]# yum install -y pcre pcre-devel
已加载插件:fastestmirror 
.......
[root@centos7 ~]# rpm -q pcre pcre-devel
pcre-8.32-17.el7.x86_64
pcre-devel-8.32-17.el7.x86_64

注意:pcre-devel 是使用 pcre 开发的一个二次开发库。nginx 也需要此库。

第三步:安装zlib库。

zlib库提供了很多种压缩和解压缩的方式。

nginx使用 zlib对 http包的内容进行 gzip,所以需要在 linux 上安装 zlib 库。

## 安装命令
[root@centos7 ~]# yum install -y zlib zlib-devel

第四步:安装openssl库。

(1)OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

(2)nginx 不仅支持 http 协议,还支持 https(即在 ssl 协议上传输 http),所以需要在linux 安装 openssl 库。

## 安装命令
[root@centos7 ~]# yum install -y openssl openssl-devel

注意:上面四步其实可以合成一步安装,命令为:

[root@centos7 ~]# yum install -y gcc gcc-c++ make libtool wget pcre pcre-devel zlib zlib-devel openssl openssl-devel

2、Nginx安装包解压并安装

我们可以使用文件上传工具,将 Nginx安装包文件上传到 Linux中。Nginx下载安装包地址:http://nginx.org/download/nginx-1.19.4.tar.gz

或者使用命令在线下载安装包:wget http://nginx.org/download/nginx-1.19.4.tar.gz
如果 wget命令未找到,需要安装wget命令:yum -y install wget

下面是把 Nginx 安装到 /usr/local/nginx 目录下。依次执行下面命令即可。

# 1.下载安装包,并解压
[root@centos7 ~]# cd /usr/local/src
wget http://nginx.org/download/nginx-1.19.4.tar.gz
tar -zxvf nginx-1.19.4.tar.gz
# 2.创建临时文件的存放目录
cd /var
mkdir temp
cd temp
mkdir nginx
# 3.回到Nginx解压后的根目录下
cd /usr/local/src/nginx-1.19.4
# 4.进入到该目录之后可以看到configure这个可执行文件,配置安装参数。
[root@centos7 nginx-1.19.4]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
# 5.参数设置如下所示,直接复制粘贴执行即可。
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
# 6.之后我们回到解压后的Nginx的根目录下,使用gcc编译安装
cd /usr/local/src/nginx-1.19.4
make && make install
# 以上命令执行完以后,就会自动在/usr/local/nginx下创建一个nginx目录,这个位置就是Nginx的安装目录。

注意:

  • 安装 nginx之前先要将安装环境配置完成,不然安装nginx会安装失败。
  • 上边将临时文件目录指定为/var/temp/nginx,需要在/var 下创建 temp以及nginx目录;
  • nginx安装成功之后,默认安装在/usr/local/nginx目录下。

安装成功后 /usr/local/nginx 目录下如下:

[root@centos7 nginx-1.19.4]# cd /usr/local/nginx
[root@centos7 nginx]# ls
conf  html  sbin

3、启动Nginx

nginx 安装成功,启动 nginx,即可访问虚拟机上的 nginx。

Nginx 默认的是侦听 80 端口。所以确保系统的 80 端口没被其他程序占用。

查看80端口:netstat -ano|grep 80

1)启动 Nginx命令:

# 首先进入 /usr/local/nginx/sbin/目录下
[root@centos7 nginx]# cd /usr/local/nginx/sbin
[root@centos7 sbin]# ll
总用量 3816
-rwxr-xr-x 1 root root 3903720 911 00:06 nginx
# 然后执行./nginx 命令进行启动Nginx
[root@centos7 sbin]# ./nginx
# 查看是否启动
[root@centos7 sbin]# ps aux|grep nginx
root      12600  0.0  0.0  20568   616 ?        Ss   00:10   0:00 nginx: master process ./nginx
nobody    12601  0.0  0.0  21004  1328 ?        S    00:10   0:00 nginx: worker process
root      12603  0.0  0.0 112724   988 pts/0    S+   00:11   0:00 grep --color=auto nginx

2)测试

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。

在这里插入图片描述

注意:测试前需要将防火墙关闭,如果是云服务器需要在安全组的配置中将80端口方行,不然80端口的访问会被阻拦。

三、Nginx常用命令

1、查看版本号

[root@centos7 ~]# /usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.19.4

2、启动 nginx

首先 cd /usr/local/nginx/sbin/进入到nginx的安装目录下,

然后执行./nginx 命令进行启动Nginx。

启动之后使用命令:ps aux|grep nginx 查看是否启动。

# 首先进入 /usr/local/nginx/sbin/目录下
[root@centos7 nginx]# cd /usr/local/nginx/sbin
[root@centos7 sbin]# ll
总用量 3816
-rwxr-xr-x 1 root root 3903720 911 00:06 nginx
# 然后执行./nginx 命令进行启动Nginx
[root@centos7 sbin]# ./nginx
# 查看是否启动
[root@centos7 sbin]# ps aux|grep nginx
root      12600  0.0  0.0  20568   616 ?        Ss   00:10   0:00 nginx: master process ./nginx
nobody    12601  0.0  0.0  21004  1328 ?        S    00:10   0:00 nginx: worker process
root      12603  0.0  0.0 112724   988 pts/0    S+   00:11   0:00 grep --color=auto nginx

注意:执行./nginx 启动 nginx ,如果不指定-c ,nginx在启动时默认加载 conf/nginx.conf 文件,此文件的地址也可以在编译安装 nginx 时指定./configure 的参数(–conf-path= 指向配置文件(nginx.conf)

如果指定 -c加载的 nginx 配置文件,命令如下:./nginx -c /usr/local/nginx/conf/nginx.conf

3、停止 nginx

方式 1,快速停止:

首先进入cd /usr/local/nginx/sbin该目录下,

然后利用命令:./nginx -s stop 进行关闭。

[root@centos7 ~]# cd /usr/local/nginx/sbin
[root@centos7 sbin]# ./nginx -s stop

此方式相当于先查出 nginx 进程 id 再使用 kill 命令强制杀掉进程。

方式 2,完整停止(推荐使用):

首先进入cd /usr/local/nginx/sbin该目录下

然后利用命令:./nginx -s quit 进行关闭。

[root@centos7 sbin]# cd /usr/local/nginx/sbin
[root@centos7 sbin]# ./nginx -s quit

此方式停止步骤是待 nginx 进程处理任务完毕进行停止。

4、重启 nginx

方式 1,先停止再启动(推荐使用):

对 nginx 进行重启相当于先停止 nginx 再启动 nginx,即先执行停止命令再执行启动命令。命令如下:

# 先执行停止命令再执行启动命令
[root@centos7 sbin]# ./nginx -s quit
[root@centos7 sbin]# ./nginx
[root@centos7 sbin]#

方式 2,重新加载配置文件:

当 nginx 的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload

不用先停止 nginx 再启动 nginx 即可将配置信息在 nginx 中生效,命令如下:

[root@centos7 sbin]# ./nginx -s reload
[root@centos7 sbin]#

– 求知若饥,虚心若愚。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1001535.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于YOLOv8模型的烟头目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要:基于YOLOv8模型的烟头目标检测系统可用于日常生活中检测与定位车辆目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数据集…

字符串的创建及常用方法大全

字符串 1.索引思维 值类型:不会改变原来的数 var arr 100//值类型function fn(a) {a 200}fn(arr)console.log(arr);//100引用类型:会改变原来的数组 // var arr [11, 22, 33, 44]// var arr1 arr;//arr1引用了arr的地址// arr1[0] "AA"// console.log(arr1);//…

js中运算规则

法: 有对象,对象是根据object.valueof().toString()返回的值 //toString的对象 var obj2 {toString:function(){return a} } console.log(2obj2) //输出结果2a//常规对象 var obj1 {a:1,b:2 } console.log(2obj1); //输出结果 2[object…

具体型号的CPU与GPU/CUDA计算能力实测记录

测试结果仅供参考,不一定做到非常严谨。 另外京东上查看,目前(2023年9月)i7-10700的价格好像在2000元左右;Quadro RTX 6000显卡,约2万元左右。 CUDA适合大批量的并行计算,CPU更加擅长分支预测以…

医院安全不良事件报告系统源码 PHP+ vue2+element+ laravel8+ mysql5.7+ vscode开发

不良事件上报系统通过 “事前的人员知识培训管理和制度落地促进”、“事中的事件上报和跟进处理”、 以及 “事后的原因分析和工作持续优化”,结合预存上百套已正在使用的模板,帮助医院从对护理事件、药品事件、医疗器械事件、医院感染事件、输血事件、意…

华为云云耀云服务器L实例使用教学:安装jdk和配置环境变量

最近各个平台都被华为mate60的消息霸屏了,5g麒麟,库克来了都不行 华为除了做手机,在云计算领域也有很多年的深耕,华为作为全球领先的信息和通信技术(ICT)解决方案提供商,一直以其创新的产品和服…

如何管理敏捷开发迭代,Sprint Backlog管理?

​什么是Sprint Backlog? Sprint Backlog是Scrum的主要工件之一。在Scrum中,团队按照迭代的方式工作,每个迭代称为一个Sprint。在Sprint开始之前,PO会准备好产品Backlog,准备好的产品Backlog应该是经过梳理、估算和优…

《C++ primer》练习3.17:改写单词为大写

最近看《C primer》&#xff0c;有这样一个题目 从cin读入一组词并把它们存入一个vector 对象&#xff0c;然后设法把所有词都改写为大写形式。输出改变后的结果&#xff0c;每个词占一行。 考察 怎么输入字符串怎么存入vector对象怎么对字符串字符处理 代码 #include <i…

什么是lockbit勒索病毒,中了勒索病毒怎么办?勒索病毒解密,数据恢复

lockbit是一种勒索病毒&#xff0c;是一种极具破坏性的电脑病毒&#xff0c;它利用加密技术来锁定用户文件&#xff0c;并以此为条件向用户勒索钱财。lockbit病毒的传播方式有通过电子邮件附件、恶意网站、点对点网络等多种途径进行传播。这种病毒一旦侵入电脑系统&#xff0c;…

Redis——zset类型详解

概要 zset是有序集合&#xff0c;将zset中的members引入一个属性score&#xff0c;根据这个属性值来进行排序&#xff0c;其中members不可以重复&#xff0c;score可以重复&#xff08;按照字典序排序&#xff09;&#xff0c;默认按照升序排序 有序集合中提供指定分数和元素…

使用POI实现操作Excel文件。

1、添加依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-o…

Keras入门与残差网络的搭建

发现草稿箱里还有一篇很早之前的学习笔记&#xff0c;希望可以帮助到有需要的童鞋~ 目录 1、keras入门 2、残差网络 &#xff08;ResNet&#xff09; 2.1、恒等块 2.2、卷积块 搭建一个50层的残差网络 自己的测试数据 1、keras入门 本文参考参考 Keras模型大纲&#xff…

SSM SpringBoot vue快递柜管理系统

SSM SpringBoot vue快递柜管理系统 系统功能 登录 注册 个人中心 快递员管理 用户信息管理 用户寄件管理 配送信息管理 寄存信息管理 开发环境和技术 开发语言&#xff1a;Java 使用框架: SSM(Spring SpringMVC Mybaits)或SpringBoot 前端: vue 数据库&#xff1a;Mys…

《VulnHub》DarkHole:1

VulnHub 1&#xff1a;靶场信息2&#xff1a;打靶2.1&#xff1a;情报收集&威胁建模2.2&#xff1a;漏洞分析&渗透攻击 3&#xff1a;总结3.1&#xff1a;命令&工具3.1.1&#xff1a;Nmap 3.2&#xff1a;关键技术 VulnHub 打靶记录。官网&#xff1a;https://www.…

C++零碎记录(十)

17. 继承对象内存 17.1 查询继承对象所占内存 #include <iostream> using namespace std; #include<string>//继承中的对象模型class Base { public:int m_A; protected:int m_B; private:int m_C; };//公共继承 class Son:public Base {int m_D; };//利用开发人…

在Creo 6.0中画图模板问题

在Creo 6.0中&#xff0c;文件的默认模板是英制模板“inlbs_part_solid”,此文件模板中尺寸的单位是inch。我们建模中需要的单位是mm&#xff0c;改变Creo文件默认的单位有两种方法。 1 【新建】对话框取消勾选【使用默认模板】对话框 &#xff08;1&#xff09;单击主页选项…

从板凳围观到玩转行家:Moonbeam投票委托如何让普通用户一同参与

今年5月&#xff0c;Moonbeam发起了一项社区链上治理中投票委托反馈的调查。187位社区成员参与了这项调查&#xff0c;调查发现受访者对治理感兴趣&#xff0c;增加参与度只需要进行一些调整&#xff0c;即更简化的投票流程。 治理和去中心化是Web3的核心&#xff0c;随着Moon…

2023/9/11 qtc++

#include <iostream> #include <cstring> using namespace std; class myString { private:char *str;int size; public://无参构造myString():size(10){str new char[size]; //构造出一个长度为10的字符串strcpy(str,""); //赋值为空串}//有…

@ApiImplicitParams这个注解的作用

ApiImplicitParams这个注解的作用&#xff1f; ApiImplicitParams是一个用于描述方法参数的注解&#xff0c;它可以用在方法上&#xff0c;作用是为方法中的参数定义多个注解&#xff0c;并将这些注解集中到一个注解集中进行统一管理。通过ApiImplicitParams注解&#xff0c;我…

玩石头游戏的必胜策略-2023年全国青少年信息素养大赛Python复赛真题精选

[导读]&#xff1a;超平老师计划推出《全国青少年信息素养大赛Python编程真题解析》50讲&#xff0c;这是超平老师解读Python编程挑战赛真题系列的第17讲。 全国青少年信息素养大赛&#xff08;原全国青少年电子信息智能创新大赛&#xff09;是“世界机器人大会青少年机器人设…