当前位置:首页 > 教程 > 正文内容

nginx必备命令(nginx命令详解)

2023-05-20 08:20:04教程1

nginx命令详解

镠TTP访问控制模块(HTTP Access). 控制规则按照声明的顺序进行检查,首条匹配IP的访问规则将被启用。如下例: location / { deny 192.168.1.1; allow 192.168.1.0/24; allow 10.1.1.0/16; deny all;} 上面的例子中仅允许192.168.1.0/24和10.1.1.0/16网络段访问这个location字段,但192.168.1.1是个例外。 注意规则的匹配顺序,如果你使用过apache你可能会认为你可以随意控制规则的顺序并且他们能够正常的工作,但实际上不行,下面的这个例子将拒绝掉所有的连接: location / { #这里将永远输出403错误。deny all; #这些指令不会被启用,因为到达的连接在第一条已经被拒绝 deny 192.168.1.1;

nginx-s

一、由于启动用户和nginx工作用户不一致所致

1.1查看nginx的启动用户,发现是nobody,而为是用root启动的

命令:ps aux | grep "nginx: worker process" | awk'{print $1}'

1.2将nginx.config的user改为和启动用户一致,

命令:vi conf/nginx.conf

二、缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文件。

1. server {

2. listen 80;

3. server_name localhost;

4. index index.php index.html;

5. root /data/www/;

6. }

如果在/data/www/下面没有index.php,index.html的时候,直接文件,会报403 forbidden。

三、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。

解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决

1. chmod -R 777 /data

2. chmod -R 777 /data/www/

四、SELinux设置为开启状态(enabled)的原因。

4.1、查看当前selinux的状态。

1. /usr/sbin/sestatus

4.2、将SELINUX=enforcing 修改为 SELINUX=disabled 状态。

1. vi /etc/selinux/config

2.

3. #SELINUX=enforcing

4. SELINUX=disabled

4.3、重启生效。reboot。

1. reboot

重启php以及nginx

killall php-fpm && php-fpm &

nginx -s reload

nginx基础命令

Nginx的模块和工作原理

  nginx由内核和模块组成:

  1.内核:其设计非常微小和简洁,完成的工作也非常简单。仅通过查找配置文件将客户端请求映射到一个location block(location是nginx配置中的一个指令,用例URL匹配),而在这个location中所配置的每个指令将会启动不同的模块取完成相应的工作。

  2.从结构上分为‘核心模块、基础模块、第三方模块’:

   核心模块:HTTP模块、EVENT模块、MAIL模块。

   基础模块:HTTP Access模块、HTTPFastCGI模块、HTTP Proxy模块、HTTP Rewrite模块。

   第三方模块:HTTP Upstream Request Hash模块、Notice模块、HTTP Access Key模块以及根据需求自己开发的模块。

  3.从功能上划分为‘Handlers、Filters、Proxies’:

   Handlers(处理器模块):此类模块直接出来请求,并输出内容和修改headers信息等操作。Handlers处理器模块一般只能有一个。

   Filters(过滤器模块):此类模块主要对其他处理器模块输出的内容进行修改操作,最后有nginx输出。

   Proxies(代理类模块):此类模块是nginx的HTTP Upstream质量的模块,这些模块主要与后端一些服务(例如FastCGI)进行交互,实现服务代理和负载均衡等功能。

nginx操作命令

1.使用cd /usr/local/nginx/sbin命令进入nginx安装目录的sbin文件夹。

2. 输入启动命令

sbin文件里有个nginx文件,可使用./nginx的命令进行启动。

3. 启动成功

输入启动命令后,若没有出现任何报错信息,则启动成功。

nginx命令行

一:启动Nginx服务--在sbin目录下

启动命令:./nginx

关闭命令:./nginx-sstop和./nginx-squit

刷新配置文件:./nginx-sreload (每次对Nginx的配置文件nginx.conf修改后,都要进行重新加载配置文件)

二:进程

查看进程ps-ef|grep-ixxxx -i 大概是ignore 是忽略的意思这里是忽略大小写。

杀死进程kill-9xxxx

三:防火墙

开启防火墙serviceiptablesstart

关闭防火墙serviceiptablesstop

查看防火墙的状态serviceiptablesstatus

永久关闭防火墙chkconfigiptablesoff

四:启动zookeeper服务--在zookeeper的bin目录下

开启zookeeper服务:./zkServer.shstart

查看zookeeper状态 ./zkServer.shstatus

五:启动Redis服务--在redis的bin目录下

以后台的方式启动:./redis-server ../redis.conf(后面的的redis.conf路径要根据每个人配置文件存放的位置来写)

进入redis命令服务:./redis-cli

输入:ping 如果返回pong 则表示连接成功!

六.启动tomcat服务

Linux下tomcat服务的启动、关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:

切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin)

1,启动tomcat服务

方式一:直接启动 ./startup.sh

方式二:作为服务启动 nohup ./startup.sh &

方式三:控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务

解释:

通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止,通过方式二可以作为linux服务一直运行

通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况,通过方式三可以以控制台模式启动tomcat服务,

直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。tomcat控制台信息包括log4j和System.out.println()等输出的信息。

2,关闭tomcat服务

./shutdown.sh

七>启动数据库:

service mysqld start 启动

service mysqld restart 重启

nginx详细讲解

apache是通过mod_php来解析phpnginx是通过php-fpm(fast-cgi)来解析php1.PHP解释器是否嵌入Web服务器进程内部执行mod_php通过嵌入PHP解释器到Apache进程中,只能与Apache配合使用,而cgi和fast-cgi以独立的进程的形式出现,只要对应的Web服务器实现cgi或者fast-cgi协议,就能够处理PHP请求。

mod_php这种嵌入的方式最大的弊端就是内存占用大,不论是否用到PHP解释器都会将其加载到内存中,典型的就是处理CSS、JS之类的静态文件是完全没有必要加载解释器。我还是比较推荐你去后盾人上面看看里面有很多关于这类php之类的教学讲解视频哦你可以去看看

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98852144.html