• MAC环境nginx搭建静态资源服务器


    MAC环境nginx搭建静态资源服务器

    安装nginx

    mac环境nginx比较简单,使用命令安装即可brew install nginx

    查看nginx信息

    brew info nginx

    启动命令:

    launchctl 命令启动

    注意安装路径和版本信息launchctl load /usr/local/cellar/nginx/1.23.1/homebrew.mxcl.nginx.plist

    brew命令启动

    brew services start nginx
    也可使用sudo nginx

    重启

    brew services restart nginx
    sudo nginx -s reload

    停止服务命令

    launchctl 命令

    launchctl unload /usr/local/cellar/nginx/1.23.1/homebrew.mxcl.nginx.plist

    brew命令

    brew services stop nginx
    sudo nginx -s stop

    修改nginx端口号

    如果不喜欢8080端口,可自己调整

    vi /usr/local/etc/nginx/nginx.conf
    编辑

    1. server {
    2. listen 8080;

    配置静态文件

    需要调整nginx的配置,指定本地路径

    1. http {
    2. include mime.types;
    3. default_type application/octet-stream;
    4. sendfile on;
    5. keepalive_timeout 65;
    6. server {
    7. listen 80;
    8. server_name localhost;
    9. # 首页配置
    10. location / {
    11. # 静态资源配置
    12. root /Users/chengluchao/Desktop/jingjingyunchang;
    13. index index.html index.htm;
    14. }
    15. error_page 500 502 503 504 /50x.html;
    16. location = /50x.html {
    17. root html;
    18. }
    19. }
    20. include servers/*;
    21. }

    配置修改完成后,浏览器访问可能出现403 Forbidden
    403 forbidden是没有权限访问。

    针对403需要做的调整:

    1. 更换启动方式

    先关闭当前用户启动的nginxbrew services stop nginx
    换一种启动方式sudo nginx

    2.更改文件夹权限

    chmod -R 755 /文件夹路径

    3.设置nginx的user

    如果以上还没解决403,需要设置nginx的user
    直接使用root用户。设置如下:
    在nginx.config的第一行加上这个user root wheel;
    测试nginx的配置,看设置是否生效sudo nginx -t
    如果没有问题,就再次重启sudo nginx -s reload
    到此,访问具体的文件就没问题了,如浏览器可直接加载图片

    文件夹访问权限

    解决了单个文件访问的问题后,访问文件夹还是会出现403的问题,这是nginx的配置问题。
    nginx.config中http.server中的autoindex默认是off,关闭了文件夹的自动展示功能,目的是防止信息泄露。
    将autoindex设置为on即可

    1. server {
    2. listen 80;
    3. server_name localhost;
    4. # 开启自动索引,可静态访问文件夹
    5. autoindex on;

    重启nginx即可生效。sudo nginx -s reload

    此时访问文件夹,就可以像ftp服务器一样预览文件了。
    如果发现有中文乱码问题,可设置编码字符集进行解决。

  • 相关阅读:
    Java区分子类方法中重名的三种变量
    【愚公系列】2022年6月 ASP.NET Core下CellReport报表工具基本介绍和使用
    【力扣】26. 删除有序数组中的重复项
    多态原理、虚表指针与虚基表的内存布局。
    分布式文件系统和对象存储魔力象限,右上角都有谁?
    【uni-app】uni-app内置组件和扩展组件
    1162地图分析
    EMQ 携“云边一体化”IoT 解决方案亮相第十届中国电子信息博览会
    Linux命令详解(13)- ln命令
    掌握 CocoaPods:iOS 开发的依赖管理神器,一文全攻略!
  • 原文地址:https://blog.csdn.net/chenglc1612/article/details/126439041