开发人员和管理员应该掌握的25个Nginx命令(下)如果您是Web开发人员,您很可能正在使用Nginx或Apache服务器。因此,深入了解Nginx的命令行工作原理非常重要。幸运的是,您可以通过掌握一些Nginx命令来提高您的DevOps技能。我们的编辑为您选择了这些常用的命令,并提供了有关启动Linux管理员的全面讨论。那么请阅读本文以了解有关这些命令的更多信息。Linux管理员的Nginx命令与许多Web服务器不同,Nginx仅使用配置文件处理服务器配置。因此,您可以利用的命令行参数非常少。这很有用,因为管理员可以快速找到他们正在寻找的命令。以下是您现在可以使用的一些广泛使用的Nginx命令。25NginxCommandsDevelopersandAdministratorsMustKnow(Part1)25NginxCommandsDevelopersandAdministratorsMustMaster(Part17.查找NginxPIDPID或进程ID是进程上用来区分Linux和类Unix系统的唯一编号。我们可以发送各种使用适当的PID向Nginx服务器发送信号。可以使用以下命令之一找到此PID。[linuxidc@localhost~/www.linuxidc.com]$psaux|grep[n]ginxroot38340.00.01177402188?Ss05:010:00nginx所以我们可以使用pgrep或vanillagrep命令与ps。18.定位日志文件日志文件包含很多对系统管理员和开发人员有价值的信息。Nginx有两个默认的日志文件,由access.log和error.log文件组成。它们是位于/var/log中,可以使用以下命令查看。[root@localhost/home/linuxidc/www.linuxidc.com]$ls/var/log/nginx/*.log/var/log/nginx/access.log/var/log/nginx/error.log现在你应该查看上面提到的那些日志文件。顾名思义,access.log包含有关您的网站访问者的信息,而error.log包含有关错误配置的警告/详细信息。但是,您需要先从Nginx配置文件中启用这两个日志,然后才能使用它们。19.设置虚拟主机虚拟主机允许服务器管理员在一台服务器计算机上运行多个网站。这通常很有用,因为您可以共享您的计算以同时运行多个站点。但是,术语虚拟主机通常与Apache服务器相关联。在Nginx世界中,它们被称为“服务器块”。[linuxidc@localhost~/www.linuxidc.com]$sudoln-s/etc/nginx/sites-available/linuxidc.com/etc/nginx/sites-enabled/linuxidc.com您可以轻松使用这个简单的符号链接启用虚拟主机在Nginx服务器上。如果要禁用虚拟主机,只需删除符号链接即可。20.查看编译好的Nginx模块正如你在之前的Nginx命令中看到的,在安装守护进程的时候,一些基础模块也会被安装。我们可以使用以下命令轻松查看这些Nginx模块。[linuxidc@localhost~/www.linuxidc.com]$sudo2>&1nginx-V|tr---'\n'|grep_module这个命令利用了几个Linux命令行工具,过滤掉不相关的信息只显示模块。由于Nginx有很多模块,此命令可用于检查为服务器编译了哪些模块。21、启用/禁用Nginx服务启用Nginx服务可以使服务器在开机时自动启动。这对于专用服务器至关重要,否则用户请求可能会中断。我们可以使用以下命令轻松地使Nginx自动启动。[linuxidc@localhost~/www.linuxidc.com]$sudoservicenginxenable#SystemVInit[linuxidc@localhost~/www.linuxidc.com]$sudosystemctlenablenginx#systemd-basedsystems这些简单但有效的命令将确保服务器停机时间最短。如果需要,您还可以禁用自动启动。只需使用以下命令之一。[linuxidc@localhost~/www.linuxidc.com]$sudoupdate-rc.d-fnginxdisable[linuxidc@localhost~/www.linuxidc.com]$sudosystemctldisablenginx22,即时升级NginxNginx允许管理员更新二进制文件和/或配置文件飞。这意味着您的客户端请求不会因服务器升级而中断。为此,首先,我们需要找到Nginx主进程的PID。我们可以使用已经演示过的简单命令来做到这一点。[linuxidc@localhost~/www.linuxidc.com]$cat/run/nginx.pid新的Nginx二进制文件应该准备好了。通过以下命令使用新的二进制文件生成一组新的Nginx主/工作进程。[linuxidc@localhost~/www.linuxidc.com]$sudokill-sUSR2`cat/run/nginx.pid`现在,使用以下命令杀死第一个主进程使用的辅助进程。[linuxidc@localhost~/www.linuxidc.com]$sudokill-sWINCH`cat/run/nginx.pid.oldbin`通过杀死旧的主进程来跟踪它。[linuxidc@localhost~/www.linuxidc.com]$sudokill-sQUIT`cat/run/nginx.pid.oldbin`23.在ChrootJail中设置NginxNginx服务器的ChrootJail将在可能的入侵情况下提供额外的安全性安全保护。管理员经常使用这种技术来确保他们的服务器在Linux文件系统的一小部分内是隔离的和安全的。使用以下命令在ChrootJail中设置Nginx服务器。#D=/nginx#mkdir-p$D#mkdir-p$D/etc#mkdir-p$D/dev#mkdir-p$D/var#mkdir-p$D/usr#mkdir-p$D/usr/local/nginx#mkdir-p$D/tmp#chmod1777$D/tmp#mkdir-p$D/var/tmp#chmod1777$D/var/tmp#mkdir-p$D/lib64#ls-l/dev/{null,random,urandom}#/bin/cp-farv/usr/local/nginx/*$D/usr/local/nginx您需要以root身份运行它们。现在,使用以下命令找出共享库。#ldd/usr/local/nginx/sbin/nginx如下,将所有库一一复制。#cp/lib64/libpcre.so.0$D/lib64您还需要复制/etc和其他一些目录。#cp-fv/etc/{group,prelink.cache,services,adjtime,shells,gshadow,shadow,hosts.deny,localtime,nsswitch.conf,nscd.conf,prelink.conf,protocols,hosts,passwd,ld.so.cache,ld.so.conf,resolv.conf,host.conf}$D/etc#cp-avr/etc/{ld.so.conf.d,prelink.conf.d}$D/etc你的Chroot监狱现在准备好接受Nginx了。只需终止旧服务并使用下一个命令启动新服务即可。#/usr/sbin/chroot/nginx/usr/local/nginx/sbin/nginx-t24。在Docker中运行NginxDocker容器由于其灵活性和强大的性能而变得非常流行。您可以在Docker容器中轻松创建和运行NginxWeb服务器。下一个命令将拉取官方Nginx映像并创建一个具有默认配置的服务器实例。[root@localhost/home/linuxidc/www.linuxidc.com]$dockerrun--namenginx-server-P-dnginxUnabletofindimage'nginx:latest'locallylatest:Pullingfromlibrary/nginx123275d6e508:Pullcomplete6cd6a943ce27:Pullcompletea50b5ac4a7fb:PullcompleteDigest:sha256:d81f010955749350ef31a119fb94b180fde8b2f157da351ff5667ae037968b28Status:Downloadednewerimagefornginx:latestb235541342e380c9e57aad547d52292da89e2c26d9cf6a1548d568a4073136ed您可以使用以下简单命令维护持久存储。sudodockerrun--namenginx-server-v/var/www:/usr/share/nginx/html:ro\-v/var/nginx/conf:/etc/nginx:ro-P-dnginx25.在LXD中运行NginxLXD被誉为下一代Linux容器,它提供了一组惊人的功能。您还可以通过LXD容器使用Nginx。查看以下用于LXD的Nginx命令。$sudolxclaunchubuntu:18.04nginx-server$sudolxcexecnginx-server--sudo--userubuntu--login$sudoaptupdate$sudoaptinstall-ynginx$sudosystemctlreloadnginx首先,我们创建了一个名为nginx-server的容器并启动了一个shell。然后我们更新了包列表并在该容器中安装了NginxWeb服务器。最后一条命令只是重新加载服务器。总结Nginx提供了很多惊人的特性,我们不仅涵盖了基本命令,还介绍了一些高级和更强大的命令行技巧。一旦你习惯了这些命令,你对Nginx技能的掌握就会更上一层楼。
