常见nginx管理及配置

得意时要看淡,失意时要看开。不论得意失意,切莫大意;不论成功失败,切莫止步。志得意满时,需要的是淡然,给自己留一条退路;失意落魄时,需要的是泰然,给自己觅一条出路常见nginx管理及配置,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

常用命令

查看nginx版本信息

nginx -v

例如,输出:
nginx version: nginx/1.18.0 (Ubuntu)

或者

nginx -V

会输出更加详细的信息。如安装了哪些模块等;

查看nginx的进程

ps -ef|grep -i nginx

查看nginx当前的配置

查看nginx的配置文件路径,即查找 nginx.cnf

绝对路径:
/usr/sbin/nginx -t

或者

nginx -t

例子,输出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重启nginx服务

nginx -s reload

停止nginx服务

停止nginx服务有四种方法,如下:

  1. 从容停止服务

这种方法相对于温和一些,需要进程完成当前工作后再停止服务,命令如下:

nginx -s quit
  1. 立即停止服务

这种方法比较强硬,无论进程是否在工作,都直接停止进程,命令如下:

nginx -s stop
  1. systemctl 停止

systemctl属于Linux命令,具体命令如下:

systemctl stop nginx.service
  1. killall 方法杀死进程

直接杀死进程,这种方法一般使用在上面的方法都无效的情况下,具体命令如下:

killall nginx

端口转发待更新

nginx配置文件

参考:

https://www.jianshu.com/p/e81fbbe67748

常用配置

http 块也可以包括 http全局块、server 块。

http 全局块

http全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。

server 块

这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。后面会详细介绍虚拟主机的概念。

每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机。

而每个 server 块也分为全局 server 块,以及可以同时包含多个 locaton 块。

1、全局 server 块

最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或IP配置。

2、location 块

一个 server 块可以配置多个 location 块。

这块的主要作用是基于 Nginx 服务器接收到的请求字符串(例如 server_name/uri-string),对虚拟主机名称(也可以是IP别名)之外的字符串(例如 前面的 /uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。

rewrite 地址重定向

rewrite是实现URL重写的关键指令,根据regex(正则表达式)部分内容,重定向到replacement,结尾是flag标记。

参考:

https://www.cnblogs.com/fengff/p/12557440.html

场景:表面上访问的是http://127.0.0.1:7777/test/xhtml//tpl/app-tpl-webapp/css/base.css,

实际上看的是http://127.0.0.1:8888/tpl/app-tpl-webapp/css/base.css的内容。

rewrite ^/(.)/tpl/(.)$ http://127.0.0.1:7777/tpl/$2; #其中$2表示的是正则中的第二串

常见问题

failed (13: Permission denied)

通过查看nginx日志,出现了failed (13: Permission denied)错误,发现是权限的问题。
解决:
/etc/nginx/nginx.conf中的第一行改为root。
即 user www-data; 修改为 user root;
然后在/etc/nginx目录使用nginx -s reload 命令重新加载配置,就解决了。

查看nginx是否配置 ssl 模块

使用下面命令,查看详细配置:

nginx -V

从输出里面查看安装的模块,如果有configure arguments: –with-http_ssl_module,说明ssl模块已安装。
安装证书,可以参考:

https://blog.csdn.net/u012486840/article/details/120940761
https://jelly.jd.com/article/6006b1045b6c6a01506c87b5

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155623.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!