下面我将详细阐述如何配置前端项目:
1.安装nginx
# 安装nginx
brew install nginx
# 查看nginx信息(后续着重讲解)
brew info nginx
# 启动
brew services start nginx
# 修改配置后重启
brew services restart nginx
# 停止
brew services stop nginx
# 查看nginx是否启动,存在nginx:master即是启动中的nginx进程号
ps -ef|grep nginx
我的是m2芯片,安装目录是:/opt/homebrew/Cellar/nginx
然后配置文件在:/opt/homebrew/etc/nginx
查看nginx的各个文件的配置:nginx -V
(注意大写),然后报错了可以查看错误日志:tail -f error.log
2.配置nginx
# 进入nginx配置文件目录
cd /opt/homebrew/etc/nginx/nginx.conf
# 修改配置文件
vim nginx.conf
修改为以下内容:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
map $http_upgrade $connection_upgrade{
default upgrade;
'' close;
}
upstream webservers{
server 127.0.0.1:8080 weight=90 ;
#server 127.0.0.1:8088 weight=10 ;
}
server {
listen 80;
server_name localhost;
location / {
root html/sky;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# 反向代理,处理管理端发送的请求
location /api/ {
proxy_pass http://localhost:8080/admin/;
#proxy_pass http://webservers/admin/;
}
# 反向代理,处理用户端发送的请求
location /user/ {
proxy_pass http://webservers/user/;
}
# WebSocket
location /ws/ {
proxy_pass http://webservers/ws/;
proxy_http_version 1.1;
proxy_read_timeout 3600s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "$connection_upgrade";
}
}
}
3.复制文件
看配置文件的内容,把资料中html中的文件复制到/opt/homebrew/Cellar/nginx/1.25.2/html
中,注意和nginx配置文件不在一个目录。
location / {
root html/sky;
index index.html index.htm;
}
4.启动nginx
brew services start nginx
我们上面配置的是80端口,现在直接去127.0.0.1
就能访问到。
注意!!!!!!
如果这个还是报错403 Forbidden
,想要查看具体的原因就是查看报错日志。我这里遇到的问题就是对文件的访问权限不够,需要修改文件权限。
sudo chmod -R 777 /opt/homebrew/Cellar/nginx/1.25.2/html/sky
。然后再访问就可以了!!!
补充:sudo nginx与brew services start nginx的区别
(下面的描述来自chatgpt)
brew services start nginx和sudo nginx是两种不同的方法来启动Nginx服务器。
1.brew services start nginx:这是通过Homebrew服务管理器来启动Nginx。当您使用Homebrew安装Nginx时,可以使用这个命令来启动Nginx服务。它会自动以合适的权限启动Nginx,并将其设置为在系统启动时自动启动。这种方法更加方便,特别是在开发环境中。
2.sudo nginx:这是直接使用sudo命令以超级用户权限来手动启动Nginx。这种方法需要您手动输入管理员密码,并且不会将Nginx设置为自动启动。这种方法适用于需要临时启动Nginx的情况,或者在没有安装Homebrew的情况下使用独立安装的Nginx。
如果已经通过Homebrew安装了Nginx,建议使用brew services start nginx命令来启动Nginx服务。这将确保Nginx以正确的权限运行,并在系统启动时自动启动。
如果您使用的是独立安装的Nginx,可以使用sudo nginx命令来手动启动Nginx。请确保您具有足够的权限来执行此操作,并且了解如何手动配置和管理独立安装的Nginx。