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

nginx配置根目录(nginx配置根目录不生效)

2023-03-23 12:20:04教程2

nginx配置根目录不生效

一、由于启动用户和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 住进程的 ID 号;

所以在配置文件中指定pid

pid /usr/local/webserver/nginx/nginx.pid;

哇这个事情 搞了我好长时间,我以为我装的用问题;

nginx的结束重启一般是通过下面命令来实现的:

kill -QUIT 26000

其中26000是nginx的主进程号。

每次都需要通过ps命令来查询nginx的主进程号,非常麻烦。 在《实战nginx:取代Apache的高性能Web服务器》一书中提到了使用pid文件的方法,不巧的是给的命令漏了些东西,这里给出完整的指令。

pid文件就是一个纯文本文件,里面记录的是进程的pid号。

下面是一个pid文件的内容::26032

nginx的默认pid文件

nginx使用了pid文件来记录master process的pid号,如果编译时没有指定,那它的路径就是:

<prefix/logs/nginx.pid

其中<prefix是nginx的安装路径。

如果你想修改默认的pid文件路径,可以在编译时加入配置。参数如下::

./configure –-pid-path=/data/test/ngx.pid

指定后,默认的pid文件路径就更改为::

/data/test/ngx.pid

如果指定只是路径,没有pid的文件名,那么pid的文件名还是nginx.pid

通过配置文件修改pid

除了使用默认值和通过编译时修改外,还可以通过在nginx的配置文件中修改。如下:

pid /data/test/nginx.pid;

这里修改的值只对使用该配置文件的nginx有效。

用PID文件停止Nginx

假设pid文件路径为/data/logs/nginx.pid

kill –QUIT `cat /data/logs/nginx.pid`

用pid文件重新加载配置文件

nginx配置根目录直接访问

Nginx在不依赖第三方模块的前期下,主要的功能有:

①、正向代理

正向代理,是在用户端的。比如需要访问某些国外网站,我们可能需要购买vpn。并且vpn是在我们的用户浏览器端设置的(并不是在远端的服务器设置),浏览器先访问vpn地址,vpn地址转发请求,并最后将请求结果原路返回来。

②、反向代理

客户端向服务器发送请求时,会首先经过 Nginx 服务器,由服务器将请求分发到相应的 WEB 服务器。正向代理是代理客户端,而反向代理则是代理服务器,Nginx 在提供反向代理服务方面,通过使用正则表达式进行相关配置,采取不同的转发策略,配置相当灵活,而且在配置后端转发请求时,完全不用关心网络环境如何,可以指定任意的IP地址和端口号,或其他类型的连接、请求等。

③、负载均衡

当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.

④、动静分离

在Web开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就是指HTML,JavaScript,CSS,img等文件。一般来说,都需要将动态资源和静态资源分开,将静态资源部署在Nginx上,当一个请求来的时候,如果是静态资源的请求,就直接到nginx配置的静态资源目录下面获取资源,如果是动态资源的请求,nginx利用反向代理的原理,把请求转发给后台应用去处理,从而实现动静分离。在使用前后端分离之后,可以很大程度的提升静态资源的访问速度,同时在开过程中也可以让前后端开发并行可以有效的提高开发时间,也可以有些的减少联调时间。

nginx配置根目录详解

添加网站是通过编辑nginx.conf文件来实现的

首先打开nginx.conf

在http块中添加一个server块

在server块中配置站点的信息

使用listen指令配置nginx监听的端口,默认为80

使用server_name指令配置nginx站点的主机名(域名),用来区分请求是要发给哪个站点的

使用root设置站点的根目录

配置完后保存并使用nginx-sreload重新加载配置文件即可

nginx根目录 index默认页

输入正确的用户名和密码;

2、关闭web服务器的密码验证功能。

确保主页文件存在,如index.php或index.html;

2、确保web服务器运行用户和站点的目录权限一致,比如你的nginx运行用户为www,你需要确保你的站点目录的所有者为www。

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

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