• 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
      关注

      【相关推荐】




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

    报告相同问题?

  • 相关阅读:
    Redis高可用之哨兵模式、集群
    【板栗糖GIS】DOS—如何在目录文件中批量建立子文件夹
    弘辽科技:淘宝店铺扣多少分会影响淘宝活动报名?
    物联网边缘-物联网准入或接入安全防护产品及解决方案
    [C++]IO流
    O(n)RMQ四毛子
    linux/bsd/mac上面模块基址/dlopen句柄互相转换的方法
    vim 多行注释
    API接口接入电商平台案例,采集淘宝天猫拼多多1688京东LAZADA数据按关键字搜索商品示例
    2.6W字系统总结,带你实现 Linux 自由!
  • 原文地址:https://ask.csdn.net/questions/8090153