本文主要介绍Linux环境下Nginx的安装(两种方式)。1.部署Nginx服务(二进制部署方式), 2.手动安装 Nginx 二进制文件(离线)以及一些的常用的Nginx命令
文章目录
前言一、Nginx是什么?二、预备软件1、nginx 自带一个Substitution模块,但该模块只能写一行,所以才改用 substitutions2、编译软件3、配置 nginx.conf 三、部署Nginx服务(二进制部署方式)1、 下载安装包2、 部署3、 编译安装nginx4、 确认服务是否安装正常5、 nginx启动、停止、重启、检测配置命令 四、手动安装 Nginx 二进制文件(离线)1、获取并放置Nginx二进制文件2、创建Systemd服务单元3、配置Nginx4、创建并编辑nginx.conf5、创建运行所需目录6、启动nginx 五、常用的Nginx命令1、启动(1)直接启动(2)指定配置文件方式启动 2、检查配置文件3、重启4、关闭(1)快速停止nginx(2)完整有序的停止nginx,这个命令会等待所有请求结束后再关闭nginx 5、reopen重新打开日志文件6、查看进程号 总结
前言
在当今互联网时代,网络服务的稳定性和性能是衡量一个网站或应用成功与否的关键因素之一。Nginx,作为一个强大的开源Web服务器和反向代理服务器,以其卓越的高并发处理能力和高效的资源利用率,成为了众多开发者和企业的首选。无论是在云环境还是在传统的数据中心,Nginx都能够提供出色的性能表现和稳定的运行效果。
本文旨在为Linux环境下的开发者和技术运维人员提供一份Nginx安装指南,包括在线二进制部署和离线手动安装两种方式,以及一系列常用的Nginx命令。通过阅读本文,掌握Nginx的基本安装流程,还能够了解到如何在不同场景下进行Nginx的配置和管理,从而确保网络服务的流畅运行。
一、Nginx是什么?
Nginx(发音为 “Engine X”)是一个高性能的开源Web服务器和反向代理服务器,它也支持作为邮件代理服务器和HTTP缓存。Nginx以其高效的资源利用和高并发处理能力而闻名,它采用异步事件驱动的架构,能够在高负载下保持良好的性能和稳定性。
二、预备软件
1、nginx 自带一个Substitution模块,但该模块只能写一行,所以才改用 substitutions
下面是安装一些预备软件(redhat系linux,包括:RHEL,Fedora,Cent OS等)
yum -y --noplugins install wget zipyum -y --noplugins install unzipyum -y --noplugins install gccyum -y --noplugins install makeyum -y --noplugins install pcre-develyum -y --noplugins install openssl-devel
–noplugins选项在较新的yum版本中可能不被支持会导致错误可以将其去除
yum -y install wget zipyum -y install unzipyum -y install gccyum -y install makeyum -y install pcre-develyum -y install openssl-devel
2、编译软件
.tar zxf nginx-1.0.8.tar.gz.cd nginx-1.0.8./configure ./configure --add-module=path/substitutions4nginx-read-only //注意这里的path是相对应的真实路径makemake install
3、配置 nginx.conf
进入nginx的安装目录
cd confvim nginx.conf
修改端口为8081
server { listen 8081; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } }
三、部署Nginx服务(二进制部署方式)
1、 下载安装包
nginx官网:
https://nginx.org/en/download.html
在服务器上使用wget下载:
wget https://nginx.org/download/nginx-1.24.0.tar.gz
2、 部署
安装Nginx服务需要的依赖包:
yum -y install gcc gcc-c++ zlib zlib-devel pcre-devel openssl openssl-devel
上传解压:
tar xf nginx-1.24.0.tar.gz -C /usr/src/
切换目录:
cd /usr/src/nginx-1.24.0
3、 编译安装nginx
./configure --prefix=/usr/local/nginxmakemake install
4、 确认服务是否安装正常
启动服务:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
查看进程:
ps -ef | grep nginx
查看端口是否启动:
netstat -anput | grep 80
5、 nginx启动、停止、重启、检测配置命令
#启动nginx服务:/usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf#停止nginx:/usr/local/nginx/sbin/nginx -s stop#重启nginx:/usr/local/nginx/sbin/nginx -s reload#检测nginx服务配置是否有误:/usr/local/nginx/sbin/nginx -t
四、手动安装 Nginx 二进制文件(离线)
在离线环境下,手动安装Nginx的过程需要细致地遵循一系列步骤,以确保程序能够正确运行并集成到系统中。
1、获取并放置Nginx二进制文件
移动二进制文件:将二进制文件移动到系统的/usr/sbin/目录,并赋予执行权限。
chmod 0755 nginxmv nginx /usr/sbin/nginx
2、创建Systemd服务单元
创建服务单元文件:在/usr/lib/systemd/system/目录下创建名为nginx.service的文件。
编辑服务单元文件:定义服务的描述、依赖关系、启动脚本等。
[Unit]Description=The nginx HTTP and reverse proxy serverAfter=network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/run/nginx.pidExecStartPre=/usr/bin/rm -f /run/nginx.pidExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.confExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.confExecReload=/bin/kill -s HUP $MAINPIDKillSignal=SIGQUITTimeoutStopSec=5KillMode=processPrivateTmp=true[Install]WantedBy=multi-user.target
3、配置Nginx
创建配置目录:根据Nginx配置文件中的路径设置,创建必要的目录。
mkdir -p /var/log/nginxmkdir -p /runmkdir -p /etc/nginx/conf.d
4、创建并编辑nginx.conf
在/etc/nginx/目录下创建nginx.conf文件,并根据需求进行配置。特别注意pid指令的值应与服务单元文件保持一致。
5、创建运行所需目录
在 nginx.conf 中指定的配置路径,都需要提前将路径目录创建好,否则启动 nginx 时将会报错,假设我们在 nginx.conf 中指定了如下路径类配置:
error_log /var/log/nginx/error.log;pid /run/nginx.pid;http { access_log /var/log/nginx/access.log main; include /etc/nginx/mime.types; include /etc/nginx/conf.d/*.conf;}
则需要提前准备好 /etc/nginx/mime.types 文件,并创建以下目录:
mkdir -p /var/log/nginxmkdir -p /runmkdir -p /etc/nginx/conf.d
6、启动nginx
启动Nginx服务:使用Systemd启动Nginx,并设置开机自启。
systemctl start nginxsystemctl enable nginx
检查状态:使用systemctl status nginx检查Nginx的状态。
systemctl status nginx
五、常用的Nginx命令
1、启动
(1)直接启动
#进入nginx目录,执行启动命令cd /usr/local/nginx/sbin./nginx#或者直接/usr/local/nginx/sbin/nginx
(2)指定配置文件方式启动
#进入nginx目录,执行启动命令cd /usr/local/nginx/sbin./nginx -c /usr/local/nginx/conf/nginx.conf#或者/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
2、检查配置文件
#进入nginx目录cd /usr/local/nginx/sbin#检查配置文件是否有语法操作./nginx -t#或者显示指定配置文件./nginx -t -c /usr/local/nginx/conf/nginx.conf
3、重启
#进入nginx目录cd /usr/local/nginx/sbin#执行重载命令./nginx -s reload
4、关闭
#进入nginx目录cd /usr/local/nginx/sbin
(1)快速停止nginx
./nginx -s stop
(2)完整有序的停止nginx,这个命令会等待所有请求结束后再关闭nginx
./nginx -s quit
5、reopen重新打开日志文件
#进入nginx目录cd /usr/local/nginx/sbin#重新打开日志文件./nginx -s reopen
6、查看进程号
ps -ef | grep nginx#从容停止Nginxkill -QUIT 主进程号#快速停止Nginxkill -TERM 主进程号#强制停止Nginxpkill -9 nginx#平滑重启nginx:kill -HUP 主进程号
总结
通过本文的详细介绍,我们已经了解了在Linux环境下安装Nginx的两种主要方式:在线二进制部署和离线手动安装。每种方式都有其特定的适用场景,无论是对于网络环境受限的离线安装,还是对于追求快速部署的在线安装,Nginx都提供了灵活的解决方案。
此外,我们还学习了一系列常用的Nginx管理命令,这些命令涵盖了从启动、停止、重启到配置文件检查等多个方面,为日常的运维工作提供了极大的便利。掌握这些命令,可以有效地管理和维护Nginx服务,确保网络服务的连续性和可靠性。
希望本文能够成为读者在Nginx学习和实践过程中的有力助手,帮助大家更好地理解和掌握Nginx这一强大的工具。