这篇文章将为大家详细讲解有关开发人员和管理员应该掌握的Nginx命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
17. 找到Nginx
PIDPID或进程ID是唯一的数字,用于区分Linux和类Unix系统上的进程。我们可以使用适当的PID将各种信号发送到Nginx服务器。可以使用以下命令之一找到此PID。
[linuxidc@localhost ~/www.linuxidc.com]$ps aux | grep [n]ginx root 3834 0.0 0.0 117740 2188 ? Ss 05:01 0:00 nginx: master process /usr/sbin/nginx nginx 3835 0.0 0.2 148772 7704 ? S 05:01 0:00 nginx: worker process [linuxidc@localhost ~/www.linuxidc.com]$pgrep nginx 3834 3835 [linuxidc@localhost ~/www.linuxidc.com]$cat /run/nginx.pid 3834
因此,我们可以将pgrep或vanilla grep命令与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]$ sudo ln -s /etc/nginx/sites-available/linuxidc.com /etc/nginx/sites-enabled/linuxidc.com
您可以使用此简单的符号链接轻松地在Nginx服务器上启用虚拟主机。如果要禁用虚拟主机,只需删除符号链接。
20. 查看编译的Nginx模块
正如您在以前的Nginx命令中看到的那样,在安装守护程序时,还会安装一些基本模块。我们可以使用以下命令轻松查看这些Nginx模块。
[linuxidc@localhost ~/www.linuxidc.com]$sudo 2>&1 nginx -V | tr -- - '\n' | grep _module
该命令利用了几个Linux命令行工具,并过滤掉了不相关的信息以仅显示模块。由于Nginx有很多模块,因此该命令对于检查为服务器编译了哪些模块很有用。
21. 启用/禁用Nginx服务
启用Nginx服务可以使服务器在启动期间自动启动。这对于专用服务器至关重要,因为否则,用户请求可能会中断。我们可以使用以下命令轻松地使Nginx自动启动。
[linuxidc@localhost ~/www.linuxidc.com]$sudo service nginx enable # System V Init [linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl enable nginx # 基于systemd系统
基于systemd系统这些简单但有效的命令将确保尽可能减少服务器停机时间。您也可以根据需要禁用自动启动。只需使用以下命令之一。
[linuxidc@localhost ~/www.linuxidc.com]$sudo update-rc.d -f nginx disable [linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl disable nginx
22、即时升级Nginx
Nginx允许管理员即时升级二进制文件和/或配置文件。这意味着您的客户端请求不会由于服务器升级而中断。为此,首先,我们需要找到主Nginx进程的PID。我们可以使用已经演示过的简单命令来实现。
[linuxidc@localhost ~/www.linuxidc.com]$cat /run/nginx.pid
新的Nginx二进制文件应该已经准备就绪。通过以下命令生成一组新的Nginx主/工作进程,这些进程使用新的二进制文件。
[linuxidc@localhost ~/www.linuxidc.com]$sudo kill -s USR2 `cat /run/nginx.pid`
现在,使用以下命令杀死第一个主进程使用的辅助进程。
[linuxidc@localhost ~/www.linuxidc.com]$sudo kill -s WINCH `cat /run/nginx.pid.oldbin`
通过杀死旧的主进程来跟踪它。
[linuxidc@localhost ~/www.linuxidc.com]$sudo kill -s QUIT `cat /run/nginx.pid.oldbin`
23. 在Chroot Jail中设置Nginx
Nginx服务器的Chroot Jail将在可能发生入侵的情况下提供额外的安全保护。管理员经常使用这种技术来确保其服务器在Linux文件系统的一小部分中是隔离的和安全的。使用以下命令在Chroot Jail中设置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 # chmod 1777 $D/tmp # mkdir -p $D/var/tmp # chmod 1777 $D/var/tmp # mkdir -p $D/lib64 # ls -l /dev/{null,random,urandom} # /bin/cp -farv /usr/local/nginx/* $D/usr/local/nginx
您需要以超级用户身份运行它们。现在,使用以下命令找出共享库。
# 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 Jail现在已准备好接受Nginx。只需杀死旧服务,然后使用下一条命令启动新服务即可。
# /usr/sbin/chroot /nginx /usr/local/nginx/sbin/nginx -t
24. 在Docker中运行Nginx
Docker容器由于其灵活性和强大的性能而变得非常流行。您可以从Docker容器中轻松创建和运行Nginx Web服务器。下一条命令将提取官方Nginx映像,并使用默认配置创建服务器实例。
[root@localhost /home/linuxidc/www.linuxidc.com]$docker run --name nginx-server -P -d nginx Unable to find image 'nginx:latest' locally latest: Pulling from library/nginx 123275d6e508: Pull complete 6cd6a943ce27: Pull complete a50b5ac4a7fb: Pull complete Digest: sha256:d81f010955749350ef31a119fb94b180fde8b2f157da351ff5667ae037968b28 Status: Downloaded newer image for nginx:latest b235541342e380c9e57aad547d52292da89e2c26d9cf6a1548d568a4073136ed
您可以使用以下简单命令维护持久性存储。
sudo docker run --name nginx-server -v /var/www:/usr/share/nginx/html:ro \ -v /var/nginx/conf:/etc/nginx:ro -P -d nginx
25. 在LXD内运行Nginx
LXD被誉为下一代Linux容器,并提供了一系列惊人的功能。您还可以通过LXD容器使用Nginx。看一下以下用于LXD的Nginx命令。
$ sudo lxc launch ubuntu:18.04 nginx-server $ sudo lxc exec nginx-server -- sudo --user ubuntu --login $ sudo apt update $ sudo apt install -y nginx $ sudo systemctl reload nginx
首先,我们创建了一个名为nginx-server的容器,然后在该容器中启动了一个shell。然后,我们更新了软件包列表,并在该容器中安装了Nginx Web服务器。最后一条命令只是重新加载服务器。
关于“开发人员和管理员应该掌握的Nginx命令有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。