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
编辑
server {
listen 8080;
配置静态文件
需要调整nginx的配置,指定本地路径
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
# 首页配置
location / {
# 静态资源配置
root /Users/chengluchao/Desktop/jingjingyunchang;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
include servers/*;
}
配置修改完成后,浏览器访问可能出现403 Forbidden
403 forbidden是没有权限访问。
针对403需要做的调整:
1. 更换启动方式
先关闭当前用户启动的nginx
brew 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即可
server {
listen 80;
server_name localhost;
# 开启自动索引,可静态访问文件夹
autoindex on;
重启nginx即可生效。
sudo nginx -s reload
此时访问文件夹,就可以像ftp服务器一样预览文件了。
如果发现有中文乱码问题,可设置编码字符集进行解决。