静态文件,外界无法访问

静态文件,外界无法访问

https://img1.sycdn.imooc.com//climg/613d678c0948678711630587.jpg

问题描述:

之前这个server是没有的,我是后添加上去的


https://img1.sycdn.imooc.com//climg/613d67cb09fb4a3908600436.jpg

这是在虚拟机内部访问,虽然有页面但是和视频不一样

https://img1.sycdn.imooc.com//climg/613d67f109fd8c9309730819.jpg

这是在虚拟机外,自己的主机上访问,就完全访问不到


https://img1.sycdn.imooc.com//climg/613d682509dc75ca12360701.jpg

上传教辅的静态文件之后,在虚拟机浏览器直接输入ip,出现的还是最初我贴出的第二张图,就是Welcome To Nginx那个样子,必须要输入文件地址才能访问,且后面的云不能动,完全静态

https://img1.sycdn.imooc.com//climg/613d6879090deaa011390810.jpg

而在本地主机访问这个文件,无论是ip还是地址全都无法访问


问题描述:

这要怎么解决!!!!!

完全没有达到效果

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小班 2021-09-12 14:14:28

同学你好,1、同学在虚拟机内部,对html内的内容可以正常访问吗?

    ​2、在外部访问,前面的html内的图片可以正常访问吗?

https://img1.sycdn.imooc.com//climg/613d93260904a71b10860600.jpg

    ​3、是不是防火墙没有关闭,导致外部不能正常访问呐,同学可以尝试关闭防火墙试试。

systemctl stop firewalld.service

    ​4、如下的配置文件,同学配置书写全了吗,花括号是否正确闭合了。

https://img1.sycdn.imooc.com//climg/613d9a6109fe386e06330222.jpg

    ​5、修改配置后是否重新加载了

https://img1.sycdn.imooc.com//climg/613d9ac1092623ee08050107.jpg

如上所示步骤排查一下。

祝学习愉快~

  • 提问者 杨清川 #1

    关闭防护墙在外部可以访问虚拟机ip了,但是不能访问静态文件


    首先,我的html里没有图片,只有一个index.html和50x.html。

      index.html在虚拟机内部,输入虚拟机ip和127.0.0.1都可以访问,在外部主机浏览器输入输入虚拟机ip也可以访问。50x.html只能在虚拟机内部访问必须输入问价地址file:///usr/share/nginx/html/50x.html才可以



    其次,课程中的静态文件,在虚拟机中输入虚拟机ip并不能访问静态文件出现的是Welcome to Nginx,只有输入localhost才可以出现静态页面,且没有云的动画效果。在外部主机中输入虚拟机ip出现的也是Welcome to Nginx并不是课程中的静态文件。


    最后,这是我的conf文件内容,帮忙看看是否有错


    events {
        worker_connections  1024;
    }


    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;

        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';

    events {
        worker_connections  1024;
    }


    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;

        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';

        access_log  /var/log/nginx/access.log  main;

        sendfile        on;
        #tcp_nopush     on;

        keepalive_timeout  65;

        #gzip  on;

        include /etc/nginx/conf.d/*.conf;
         server {
    #监听端口号
            listen       80;
            listen       [::]:80;
            server_name  _;
        #root路径的位置
            root         /usr/share/nginx/html2;

            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;

            error_page 404 /404.html;
            location = /404.html {
            }

            error_page 500 502 503 504 /50x.html;
            location = /50x.html {
            }
        }
    }

    下面是我Nginx文件夹内容

    https://img1.sycdn.imooc.com//climg/613eb4350992219407900310.jpg



    2021-09-13 10:16:14
  • 好帮手慕小尤 回复 提问者 杨清川 #2

    同学你好,50x.html是在html目录中,如下所示:

    https://img1.sycdn.imooc.com//climg/613edd8009492b3a04430096.jpg

    而同学在配置文件中配置的是html2目录,如下所示:则建议同学进行修改。

    https://img1.sycdn.imooc.com//climg/613eddc009e0c5e705090300.jpg

    然后使用nginx -s reload 命令重新读取配置文件。最后重新测试试一下。

    祝学习愉快!

    2021-09-13 13:15:16
  • 提问者 杨清川 回复 好帮手慕小尤 #3

    我并不是要访问50x.html

    我的问题是,在主机上没法访问教辅的静态文件,在主机输入虚拟机ip得到的是Nginx的欢迎界面

    在虚拟机输入虚拟机ip也是欢迎页面,但是在虚拟机输入localhost可以访问到辅静态文件,但是后面的云不会动,而在主机输入什么都访问不到教辅静态文件,原因我已经都粘贴出来了


    2021-09-13 14:33:20
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师