nginx图像目录(nginx显示目录文件)
nginx显示目录文件
第一种:Nginx自己的错误页面
Nginx访问一个静态的html 页面,当这个页面没有的时候,Nginx抛出404,那么如何返回给客户端404呢?
看下面的配置,这种情况下不需要修改任何参数,就能实现这个功能。
server {
listen 80;
server_name www.test.com;
root /var/www/test;
index index.html index.htm;
location / {
}
# 定义错误页面码,如果出现相应的错误页面码,转发到那里。
error_page 404 403 500 502 503 504 /404.html;
# 承接上面的location。
location = /404.html {
# 放错误页面的目录路径。
root /usr/share/nginx/html;
}
}
第二种:反向代理的错误页面
如果后台Tomcat处理报错抛出404,想把这个状态叫Nginx反馈给客户端或者重定向到某个连接,配置如下:
upstream www {
server 192.168.1.201:7777 weight=20 max_fails=2 fail_timeout=30s;
ip_hash;
}
server {
listen 80;
server_name www.test.com;
root /var/www/test;
index index.html index.htm;
location / {
if ($request_uri ~* ‘^/$’) {
rewrite .* http://www.test.com/index.html redirect;
}
# 关键参数:这个变量开启后,我们才能自定义错误页面,当后端返回404,nginx拦截错误定义错误页面
proxy_intercept_errors on;
proxy_pass http://www;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
}
第三种:Nginx解析php代码的错误页面
如果后端是php解析的,需要加一个变量
在http段中加一个变量
fastcgi_intercept_errors on就可以了。
指定一个错误页面:
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
指定一个url地址:
error_page 404 /404.html;
error_page 404 = http://www.test.com/error.html;
nginx目录列表策略
chown-r命令是Linux系统中的一个文件属性修改命令,它可以递归地更改文件和目录的所有者和用户组。该命令的格式为:chown -R [options] owner[:group] files,其中owner是文件的所有者,group是用户组,files是需要修改权限的文件;而“-R”选项表示递归的更改文件和子目录的所有权。使用chown-r命令时,需要输入sudo权限,即超级用户权限,否则会报错。例如:chown -R root:root /etc/nginx,这条命令的意思是将nginx目录下的所有文件和子目录的所有者和用户组都更改为root。
nginx conf.d目录
将Nginx安装到Linux系统中,并启动Nginx服务。
使用文本编辑器打开nginx.conf文件,更改配置内容,例如更改监听端口、服务器名称等参数。
添加必要的虚拟主机,设置虚拟主机的根目录等信息。
重新加载Nginx服务,应用新的配置,完成Nginx的配置工作。
nginx网页文件目录
卸载教程如下:
1、通过ps -ef|grep nginx命令查到nginx的pid
(我的已经被我杀掉了,假设还有,pid为123456)
2、使用kill -9 123456杀掉进程(如果有多个pid可以直接用空格隔开写在后面就行)
3、使用find / -name nginx命令查找有关nginx的文件夹
4、使用rm -rf #路径#删除(比如rm -rf /www/server/panel/vhost/nginx),我这边太多了。。。我就直接开sftp删了
路径#删除(比如rm -rf /www/server/panel/vhost/nginx`),我这边太多了。。。我就直接开sftp删了
nginx sbin目录
nginx代理出现403异常,可通过以下几个原因排查:
一、由于启动用户和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. #SELINUX=enforcing
3. SELINUX=disabled
4.3、重启生效。reboot。
1. reboot
nginx配置文件目录访问
server_name 域名; location /路径1/ {}location /路径2/ {}就可以 :域名/路径1/域名/路径2/这样来访问了。
nginx启动报错目录不正确
报错了,先查看日志,使用docker logs nginx去查看具体的报错原因再解决问题
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.