• nginx配置server


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 Planetlll_hh 2024-04-17 18:00 采纳率: 60% 浏览 7 首页/ PHP / nginx配置server nginx服务器运维 linux 服务器上 nginx配置server让外部能访问到放在服务器上的静态资源资源目录是有的 可为什么访问不到 展开全部 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    3条回答 默认 最新

    • 码农阿豪 Java领域优质创作者 2024-04-17 18:17
      关注
      让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
      问题描述: 如何在Linux服务器上配置Nginx,在外部访问服务器上的静态资源? 解决方案: 一、修改Nginx配置文件
      1. 打开Nginx配置文件,一般在/etc/nginx/nginx.conf或者/etc/nginx/conf.d/default.conf。
      2. 在http块中添加一个server块,用于指定静态资源的访问路径和目录,例如:
      server {
          listen       80;  #监听端口
          server_name  example.com;  #绑定的域名
          root   /var/www/html;  #静态资源目录
          location / {
              index  index.html index.htm;
          }
          error_page  404              /404.html;
          location = /404.html {
              root   /usr/share/nginx/html;
          }
      }
      
      1. 修改静态资源目录的所属用户和权限,例如:
      sudo chown -R nginx:nginx /var/www/html
      sudo chmod -R 755 /var/www/html
      
      1. 重启Nginx服务,命令为:sudo service nginx restart 二、检查防火墙规则 检查Linux服务器上的防火墙规则,确保允许外部访问Nginx服务所监听的80端口。可以使用如下命令进行检查和修改:
      2. 检查防火墙状态:sudo firewall-cmd --state
      3. 打开防火墙端口:sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
      4. 重启防火墙:sudo systemctl restart firewalld
      5. 检查防火墙开放的端口:sudo firewall-cmd --zone=public --list-ports 案例: 假设服务器IP地址为192.168.1.100,静态资源的目录为/var/www/html,修改Nginx配置文件如下:
      server {
          listen       80;
          server_name  192.168.1.100;
          root   /var/www/html;
          location / {
              index  index.html index.htm;
          }
          error_page  404              /404.html;
          location = /404.html {
              root   /usr/share/nginx/html;
          }
      }
      

      修改静态资源目录的所属用户和权限:

      sudo chown -R nginx:nginx /var/www/html
      sudo chmod -R 755 /var/www/html
      

      重启Nginx服务:

      sudo service nginx restart
      

      最后,使用浏览器访问http://192.168.1.100,应该能够正常访问静态资源。如果无法访问,可以检查防火墙规则是否左开放,使用如下命令进行检查和修改:

      sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
      sudo systemctl restart firewalld
      sudo firewall-cmd --zone=public --list-ports
      

      展开全部

      评论
    • GISer Liu 2024-04-17 18:41
      关注

      该回答引用自GPT-3.5,由博主GISer Liu编写:

      首先,确保在nginx的配置文件中正确地设置了server块,以便外部可以访问到放在服务器上的静态资源。接下来,检查以下几个可能的原因:

      1. 目录权限问题 :确保nginx进程有权限读取所需的静态资源目录。你可以通过使用ls -l命令查看目录的权限,并确保nginx用户有读取权限。如果没有,可以使用chmod命令修改权限。
      2. 文件路径配置错误 :检查nginx配置文件中静态资源目录的路径是否正确。确保路径是相对于nginx配置文件的,或者是绝对路径。
      3. 访问地址错误 :确认你尝试访问的URL是否正确。有时候错误的URL会导致无法访问资源。
      4. Nginx配置问题 :检查nginx配置文件中server块的配置项,确保root指令指向了正确的静态资源目录,并且location块正确地匹配了请求。
        以下是一个简单的nginx配置示例:
        nginxCopy code
        server {
        listen 80;
        server_name example.com;
        # 静态资源目录
        root /path/to/your/static/files;
        location / {
        # 允许所有请求访问静态资源
        try_files $uri $uri/ =404;
        }
        }
        
        在这个示例中,/path/to/your/static/files是你的静态资源目录的路径。确保替换成你实际的路径。这个配置允许所有的请求访问静态资源。
        如果以上方法都没有解决问题,那可能需要进一步检查nginx的日志以及服务器的网络配置,以确定问题的根本原因。
        希望这些能帮到你解决问题!

      如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑

      评论
    • CSDN-Ada助手 CSDN-AI 官方账号 2024-04-17 20:04
      关注

      【相关推荐】




      如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    神经网络物联网的发展趋势和未来方向
    USACO22FEB Moo Network G
    @PostConstruct详解
    c++视觉处理----绘制直方图,H—S直方图,二维H—S直方图,RGB三色直方图
    中断机制-通过interrupt实现线程中断停止
    如何校准Linux服务器时间
    对数字化时代的企业来说,数据治理难做,但应该去做
    【MySQL】数据类型(一)
    【Rust日报】2022-07-26 lurk - strace written in rust
    春秋云境靶场CVE-2022-25578漏洞复现(利用htaccess文件进行任意文件上传)
  • 原文地址:https://ask.csdn.net/questions/8090153