目录

什么是nginx?

1. nginx的安装

1.1  yum安装和编译安装的区别

1.1.1  yum安装的优点和缺点

1.1.2 编译安装的优点和缺点

1.2  nginx编译安装脚本

1.3  nginx的常用模块

1.4  怎么样判断nginx是否启动

1.4.1  看端口

netst8t -anplut命令

lsof -i:80 命令

ss -anplut命令

1.4.2  看进程

ps -aux | grep nginx

1.4.3  直接访问web服务器

2. nginx常用命令

2.1 nginx -v 显示版本号

2.2  nginx -V 显示nginx的版本号和编译信息

2.3  nginx -s

2.3.1  nginx -s stop 关闭nginx进程

2.3.2  nginx -s quit  关闭nginx进程

2.3.3  nginx -s reload 重启nginx服务

2.3.4  nginx -s reopen 重新生成一个日志文件

2.3.5  进程与进程之间的几种通信方式:

2.4   nginx -t

2.5  捕捉信号脚本


什么是nginx?

nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server

nginx是一个HTTP服务器,一个邮件服务器,反向代理服务器(负载均衡,缓存)第7层负载均衡,第4层的负载均衡

##########################################

1. nginx的安装

环境:centos 7.9.2009 系统

[root@www lianxi]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

nginx版本:nginx-1.21.6

##########################################

1.1  yum安装和编译安装的区别

1.1.1  yum安装的优点和缺点

yum安装的优点:

安装东西,方便快捷,不用考虑包依赖关系。

yum安装的缺点

安装过程人为无法干预,不能按需安装。源里面有什么就安装什么。

yum安装目录不集中,但基本遵循Linux文件夹的作用去划分文件,比如配置文件通常在/etc下,

日志文件通常在/var/log下面

##########################################

1.1.2 编译安装的优点和缺点

源码安装的优点:

编译安装过程,可以设定参数,按照需求,进行安装,并且安装的版本,可以自己选择,灵活性比较大。

编译安装目录集中,都在我们制定的安装路径下面。

源码安装的缺点:

由于安装包过新或者是其他问题,导致依赖的包没有,或者版本过低。这个时候就要解决包的依赖问题(可能需要花很多时间来踩坑解决包依赖关系),linux系统中有的包,一个依赖一个,可能装一个小东西,就要解决一堆包的依赖问题,花很多时间解决包的依赖问题,得不尝失。源码安装的多了,不敢升级系统,升级系统,可能会导致以前手动装的东西,不能用。
##########################################

1.2  nginx编译安装脚本

[root@www lianxi]# cat onekey_install_xueshanfeihu_Geoip_v10.sh
#!/bin/bash#解决软件的依赖关系,需要安装的软件包
yum install epel-release -y
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ autoconf automake make psmisc net-tools lsof vim geoip geoip-devel wget -y#新建liming用户和组
id  liming || useradd liming -s /sbin/nologin#下载nginx软件
mkdir  /liming99 -p
cd /liming99
wget  https://nginx.org/download/nginx-1.21.6.tar.gz#解压软件
tar xf nginx-1.21.6.tar.gz
#进入解压后的文件夹
cd nginx-1.21.6#编译前的配置
./configure --prefix=/usr/local/scliming99  --user=liming --group=liming  --with-http_ssl_module   --with-threads  --with-http_v2_module  --with-http_stub_status_module  --with-stream  --with-http_geoip_module --with-http_gunzip_module#如果上面的编译前的配置失败,直接退出脚本
if (( $? != 0));thenexit
fi
#编译
make -j 2
#编译安装
make  install#修改PATH变量
echo  "PATH=$PATH:/usr/local/scliming99/sbin" >>/root/.bashrc
#执行修改了环境变量的脚本
source /root/.bashrc#firewalld and selinux#stop firewall和设置下次开机不启动firewalld
service firewalld stop
systemctl disable firewalld#临时停止selinux和永久停止selinux
setenforce 0
sed  -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config#开机启动
chmod +x /etc/rc.d/rc.local
echo  "/usr/local/scliming99/sbin/nginx" >>/etc/rc.local#修改nginx.conf的配置,例如:端口号,worker进程数,线程数,服务域名sed  -i '/worker_processes/ s/1/2/' /usr/local/scliming99/conf/nginx.conf
sed  -i  '/worker_connections/ s/1024/2048/' /usr/local/scliming99/conf/nginx.conf
sed  -i -r '36c \\tlisten  80;' /usr/local/scliming99/conf/nginx.conf
sed  -i -r '37c \\tserver_name www.liming.com;' /usr/local/scliming99/conf/nginx.conf#killall nginx进程
killall -9 nginx#启动nginx
/usr/local/scliming99/sbin/nginx

##########################################

1.3  nginx的常用模块

--prefix=/usr/local/scliming99  指定nginx的安装路径--user=liming   指定启动nginx的用户--group=liming  指定启动nginx的组--with-threads  启动线性池的使用--with-file-aio    支持在FreeBSD和linux上使用异步文件 I/O(aio)--with-http_ssl_module 启用构建将HTTPS协议支持添加到HTTP服务器的模块的功能,默认情况下未构建此模块,需要OpenSSL库来构建和运行此模块--with-http_v2_module   支持构建提供对HTTP/2支持的模块,默认情况下未构建此模块--with-http_stub_status_module  支持构建ngx_http_stub_status_module 模块,该模块提供对基本状态信息的访问,默认情况下未构建此模块--with-stream  支持构建用于通过TCP/UDP代理和负载平衡的流模块,默认情况下未构建此模块

##########################################

1.4  怎么样判断nginx是否启动

1.4.1  看端口

netst8t -anplut命令

[root@www lianxi]# netstat -anplut
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      999/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1163/master
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      16221/nginx: master
tcp        0     36 192.168.44.130:22       192.168.44.1:51687      ESTABLISHED 20590/sshd: root@pt
tcp        0      0 192.168.44.130:22       192.168.44.1:55632      ESTABLISHED 20315/sshd: root@pt
tcp        0      0 192.168.44.130:22       192.168.44.1:54997      ESTABLISHED 20231/sshd: root@pt
tcp6       0      0 :::22                   :::*                    LISTEN      999/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1163/master
udp        0      0 127.0.0.1:323           0.0.0.0:*                           672/chronyd
udp6       0      0 ::1:323                 :::*                                672/chronyd    

##########################################

lsof -i:80 命令

[root@www lianxi]# lsof  -i:80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   16221   root    6u  IPv4  78419      0t0  TCP *:http (LISTEN)
nginx   19953 liming    6u  IPv4  78419      0t0  TCP *:http (LISTEN)
nginx   19954 liming    6u  IPv4  78419      0t0  TCP *:http (LISTEN)

##########################################

ss -anplut命令

[root@www lianxi]# ss -anplut
Netid  State      Recv-Q Send-Q Local Address:Port                Peer Address:Port
udp    UNCONN     0      0          127.0.0.1:323                            *:*                   users:(("chronyd",pid=672,fd=5))
udp    UNCONN     0      0              [::1]:323                         [::]:*                   users:(("chronyd",pid=672,fd=6))
tcp    LISTEN     0      128                *:22                             *:*                   users:(("sshd",pid=999,fd=3))
tcp    LISTEN     0      100        127.0.0.1:25                             *:*                   users:(("master",pid=1163,fd=13))
tcp    LISTEN     0      128                *:80                             *:*                   users:(("nginx",pid=19954,fd=6),("nginx",pid=19953,fd=6),("nginx",pid=16221,fd=6))
tcp    LISTEN     0      128             [::]:22                          [::]:*                   users:(("sshd",pid=999,fd=4))
tcp    LISTEN     0      100            [::1]:25                          [::]:*                   users:(("master",pid=1163,fd=14))

##########################################

1.4.2  看进程

ps -aux | grep nginx

[root@www lianxi]# ps aux | grep nginx
root      16221  0.0  0.2  48524  2120 ?        Ss   02:07   0:00 nginx: master process /usr/local/scliming99/sbin/nginx
liming    19953  0.0  0.2  49400  2612 ?        S    08:13   0:00 nginx: worker process
liming    19954  0.0  0.2  49400  2860 ?        S    08:13   0:00 nginx: worker process
root      20698  0.0  0.0 112824   988 pts/0    R+   18:12   0:00 grep --color=auto nginx

##########################################

1.4.3  直接访问web服务器

可以访问nginx就已经开启

##########################################

2. nginx常用命令

2.1 nginx -v 显示版本号

[root@www lianxi]# nginx -v
nginx version: nginx/1.21.6

##########################################

2.2  nginx -V 显示nginx的版本号和编译信息

[root@www lianxi]# nginx -V
nginx version: nginx/1.21.6
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/scliming99 --user=liming --group=liming --with-http_ssl_module --with-threads --with-http_v2_module --with-http_stub_status_module --with-stream --with-http_geoip_module --with-http_gunzip_module

##########################################

2.3  nginx -s

-s是一种信号(signal),是进程与进程之间通信的一种方式

2.3.1  nginx -s stop 关闭nginx进程

-s stop命令给正在运行的Nginx master进程发送TERM信号量来快速的关闭Nginx服务

收到TERM信号量的进程会自我终结

##########################################

2.3.2  nginx -s quit  关闭nginx进程

-s quit命令告诉Nginx正常处理完所有任务(关闭监听接口,停止接收新的链接,把当前的所有连接全部处理完)再停止进程。也就是说nginx会先处理完当前的任务再结束进程

##########################################

2.3.3  nginx -s reload 重启nginx服务

修改了nginx的配置文件
相当于刷新服务
 启用新的配置
不会中断业务 --》工作中一般使用重启

##########################################

2.3.4  nginx -s reopen 重新生成一个日志文件

2.3.5  进程与进程之间的几种通信方式:


管道
socket
信号量
消息队列
共享内存

##########################################

2.4   nginx -t

测试nginx.conf 配置文件是否有错误

[root@www lianxi]# nginx -t
nginx: the configuration file /usr/local/scliming99/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/scliming99/conf/nginx.conf test is successful

##########################################

2.5  捕捉信号脚本

当捕捉到 1 2 15 这三种信号的时候,执行命令  echo i am busy

[root@localhost signal]# cat sig.sh
i=1
trap "echo i am busy" 1 2 15
while :
do((i++))echo $isleep 1done

##########################################

nginx - nginx的安装部署相关推荐

  1. Nginx Linux详细安装部署教程

    Nginx Linux详细安装部署教程 一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入 ...

  2. nginx linux详细安装部署教程,Nginx Linux详细安装及部署实战

    Nginx Linux详细安装及部署实战 Nginx 常用基础命令 #启动 Nginx /usr/local/webserver/nginx/sbin/nginx #默认配置文件 /usr/local ...

  3. Nginx Windows详细安装部署教程

    一.Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ramble ...

  4. windows server下的 Nginx SSL 证书安装部署

    由于 github pages 项目中使用后端服务调用只支持使用 https  协议,故需要在原来的 Nginx 服务器中安装 SSL 证书,参考了SSL 证书 Nginx 服务器 SSL 证书安装部 ...

  5. Nginx windows 详细安装部署教程

    目录 windows 官网下载 Linux windows 官网下载 1.Nginx官网 下载后解压到本地 2.在nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的 ...

  6. centos7FastDFS分布式安装部署

    FastDFS安装部署 1. 环境准备 2. 安装配置 2.1 所有服务器节点操作 2.2 在两台tracker上操作(Cq03.Cq04) 2.3 在两台storage上操作(Cq11.Cq12) ...

  7. Tencent SSL 数字证书安装部署

    目录 前言 一.SSL 证书购买 二.配置监听器 三.Nginx SSL 配置 FAQ 前言 之前写了一篇关于 SSL 证书的文章<Nginx 自签证书实现80转443>,不过这是自签证书 ...

  8. Nginx笔记系列(1)——Nignx的安装部署

    2019独角兽企业重金招聘Python工程师标准>>> Nginx百科 服务器(软件)你能一口气说出几个?从当年"蹒跚学步"学java时开始用 Tomcat,到& ...

  9. Ubuntu 16.04+.Net Core+Docker+Nginx安装部署

    前言 最近公司的项目打算移植到.Net Core平台,所以调研了一下.Net Core在Linux下的安装部署.本篇文章会一步步的描述从安装到配置到部署的全部过程.在文章的结构和内容里,笔者借鉴了很多 ...

  10. Nginx windows安装部署

    一.Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ramble ...

最新文章

  1. 彻底解决SQL SERVER 2008无法远程连接的问题
  2. GDCM:提取JP2文件所有解析度的测试程序
  3. 停车场管理系统c语言程序,c语言程序设计 停车场管理系统 停车场有1-20个车位号,设计一个停车场管理系统,实现停车场管理...
  4. C语言的延时程序怎么改,C语言延时子程序准确设置
  5. 【差分约束】POJ3159/LG P1993 小K的农场
  6. loss函数之SoftMarginLoss
  7. 大数据电商数仓分析项目
  8. 宜昌市计算机一级考试真题,宜昌市人事局关于在大中专院校学生中开展计算机应用等级考试的通知...
  9. android psp 模拟器卡,手机PSP游戏闪退或卡顿的解决方法
  10. python在linux下打包程序_Python打包程序
  11. React的调和过程
  12. python函数长度单位换算_长度单位换算表-在线长度单位转换器
  13. 通过任意数量点拟合曲线
  14. java使用微博开发者api步骤
  15. 商务通打开对话窗口容错代码
  16. 区块链报告会心得体会3000_学习区块链的心得体会?
  17. JMS createSession(false, Session.AUTO_ACKNOWLEDGE); 两个参数不同组合下的区别
  18. 项目管理-人力资源管理-人力资源管理计划-工具-RACI矩阵-Responsible与Accountable的区别
  19. Hello Goodbye
  20. micropython 常量_MicroPython添加Module(二)

热门文章

  1. css3之transform-origin属性详解图文笔记
  2. 利用微信API将你的微信变为聊天机器人
  3. 基于AI排序算法的指数增强策略
  4. nginx php spawn-fcgi,搭建CentOS+NGINX+Spawn-fcgi+CPP开发环境
  5. 动态规划最佳缝合线查找(Image Stitching 3)
  6. 【Python网络蜘蛛】:基础 - 爬虫的基本原理
  7. 2020长三角(上海)区块链应用创新大赛复赛评审圆满结束
  8. 【Servlet】什么情况下调用doGet和doPost
  9. 浅谈Lattepanda
  10. 类中数组成员变量怎么初始化,数组名与指针的区别