• 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服务器一样预览文件了。
    如果发现有中文乱码问题,可设置编码字符集进行解决。

  • 相关阅读:
    Safe Head机制技术实践分析
    抓包工具charles安装使用
    Redis面试
    测试工程师转开发希望大吗?
    适用于细胞核、细胞膜、线粒体、细胞骨架的成像的荧光探针推荐
    leetcode187. 重复的DNA序列
    阿里云产品试用系列-云服务器 ECS
    【校招VIP】java开源框架之Zookeeper
    【论文精读】A Survey on Deep Learning for Named Entity Recognition
    【精讲】vue框架 vue脚手架子父组件交互、子父组件构成、main.js文件、知识点补充
  • 原文地址:https://blog.csdn.net/chenglc1612/article/details/126439041