万万哇 发表于 2025-4-10 19:23:52

Mac安装配置使用nginx的一系列标题

brew安装nginx

https://juejin.cn/post/6986190222241464350

[*] 使用brew安装nginx,如下命令所示:
brew install nginx
如下图所示:
https://i-blog.csdnimg.cn/direct/d96722ab3f254e0dab536549e8803912.pnghttps://i-blog.csdnimg.cn/direct/7ac3509d345449c49baec2434d49cc24.png
2.查看nginx的配置信息,如下命令:
brew info nginx
https://i-blog.csdnimg.cn/direct/401f09c4b62744ffa70f010482066248.png
From:xxx 这样的,是nginx的泉源,Docroot默认为 /usr/local/var/www, 在/usr/local/etc/nginx/nginx.conf 配置文件中默认的端口为8080, 且nginx将在/usr/local/etc/nginx/servers 目录中加载所有文件。
并且我们可以通过最简单的命令’nginx’ 来启动nginx.
/opt/homebrew/etc/nginx
/nginx.conf
配置文件
/opt/homebrew/var/www
前端放置文件路径
brew services restart nginx
3.查看nginx安装目录, 如下命令:
/opt/homebrew/etc/nginx
https://i-blog.csdnimg.cn/direct/019bcb5de67f4285907602777ca2bc66.png
打开nginx目录后,可以看到我们上面的使用 brew info nginx
查看信息所说的 server目录以及nginx.conf的配置文件,那么我们的nginx被安装到什么地方呢?我们从上面的截图可以看到,是在 这个目录下 /opt/homebrew/Cellar/nginx,执行如下命令可以查看到:
open /opt/homebrew/Cellar/nginx
会打包目录,如下图所示:https://i-blog.csdnimg.cn/direct/095232b384ce4355a1d230727687dc5d.png
进入上面的 1.27.3文件后,如下图所示:https://i-blog.csdnimg.cn/direct/bb22dd49032c4f1dac848ff89a3a25ae.png
在该目录下可以看到一个名字为html的快捷方式的文件夹,进入该目录后,它有两个文件50.html和index.html,如下图所示:
https://i-blog.csdnimg.cn/direct/b66d86e6556448dfa684d5d7e9ba7387.png
启动nginx服务

如下命令:
brew services start nginx // 重启的命令是: brew services restart nginx
如下图所示:
https://i-blog.csdnimg.cn/direct/920a9e70927d4821b713d919c4d3716f.png
Nginx下载乐成了但是访问http://localhost:8080/时,显示出错,多次尝试都没有结果;
寻求资助

最后通过森哥资助解决:


[*]首先跟随该教程举行编译安装
Mac编译安装Nginx_mac nginx-CSDN博客
尝试了许多方法解决标题,但是最终都没有取得想要的结果;
重新安装配置

于是把原本安装好的nginx卸载掉了,重新举行下载安装配置:https://i-blog.csdnimg.cn/direct/c2d0991c5c0f4d99991f7347fd70ba04.png
通过以下代码,举行nginx重启:
https://i-blog.csdnimg.cn/direct/8fec21eca1c04dcb9df17989c030ab05.png
上网查询,通过以下代码举行查询nginx版本号,并得到如上图所示响应
nginx -v
查看nginx版本号的几种方法_51CTO博客_linux查看nginx版本号
更改配置重启nginx,输入如下所示代码
nginx -s reload
nginx启动、重启、关闭

nginx启动、重启、关闭 - 酷玩时刻 - 博客园
启动

cd usr/local/nginx/sbin
注意:usr/local/nginx 是安装目录
./nginx
重启

更改配置重启nginx
kill -HUP 主历程号或历程号文件路径
大概使用
cd /usr/local/nginx/sbin
./nginx -s reload

关闭
./nginx -s stop
判定配置文件是否精确
nginx -t -c /usr/local/nginx/conf/nginx.conf
大概
cd /usr/local/nginx/sbin
./nginx -t
关闭

查询nginx主历程号
ps -ef | grep nginx
从容停止 kill -QUIT 主历程号
快速停止 kill -TERM 主历程号
逼迫停止 kill -9 nginx 大概 killall -9 nginx
./nginx -s stop
若nginx.conf配置了pid文件路径,如果没有,则在logs目录下
kill -信号类型 ‘/usr/local/nginx/logs/nginx.pid’
升级

1、先用新步伐替换旧步伐文件
2、kill -USR2 旧版步伐的主历程号大概历程文件名
此时旧的nginx主历程会把自己的历程文件改名为.oldbin,然后执行新版nginx,此时新旧版本同时运行
3、kill -WINCH 旧版本主历程号
4、不重载配置启动新/旧工作历程
kill -HUP 旧/新版本主历程号
从容关闭旧/新历程
kill -QUIT 旧/新历程号
快速关闭旧/新历程
kill -TERM 旧/新历程号
最终跟随该教程指引,完成了配置安装
MacOS 下安装 Nginx_macos 安装nginx-CSDN博客
https://i-blog.csdnimg.cn/direct/691e7e2cc82d495499f9e8d2306e282f.png
最后将课程中所给的前端环境中的资源拷贝放置到了对应的nginx位置https://i-blog.csdnimg.cn/direct/be0e8b7f57d249e995afe9c866e46f3f.png
并且对nginx中的nginx.conf文件举行对应的编译改写,
    server {
      listen       90;
      server_namelocalhost;

      location / {
            root   html;
            indexindex.html index.htm;
      }

      location ^~ /api/ {
            rewrite ^/api/(.*)$ /$1 break;
            proxy_pass http://localhost:8080;
      }
      
      error_page   500 502 503 504/50x.html;
      location = /50x.html {
            root   html;
      }
    }
location /

在Web服务器配置中,location / 是一个非常重要的指令,通常出如今Nginx或Apache服务器的配置文件中。它定义了服务器如那边理对网站根目录(即域名或IP所在后不加任何路径时的访问)的请求。
在Nginx中:
在Nginx中,location / 块定义了默认的请求处理,如果没有其他更具体的location匹配,就会使用这个块的配置。例如:
server {
    listen 80;
    server_name example.com;

    location / {
      root /usr/share/nginx/html;
      index index.html index.htm;
    }
}
在这个例子中,当用户访问 Example Domain 时,Nginx会查找 /usr/share/nginx/html 目录下的 index.html 或 index.htm 文件,并将其作为响应返回。


[*]location / 是一个用于定义对网站根目录请求处理的指令。
[*]在Nginx中,它通常用于指定文档根目录和默认页面。
[*]这个指令对于确保网站根目录的请求被精确处理至关重要。
精确配置 location / 可以提高网站的可用性和安全性,确保用户访问网站时能够获得精确的内容。
location ^~ /api/

在 Nginx 配置中,location ^~ /api/ 指令用于定义一个特定的位置块,该块匹配所有以 /api/ 开头的请求路径。这里的 ^~ 是一个特殊字符,它表现如果 Nginx 碰到以 ^~ 开头的 location 块,并且该块的路径与请求的 URI 匹配,则 Nginx 将停止搜索其他 location 块,并使用这个块来处理请求。
以下是 location ^~ /api/ 的一些关键点:
非正则表达式匹配:



[*]location ^~ /api/ 是一个非正则表达式匹配,这意味着它将匹配任何以 /api/ 开头的 URI,但不包罗正则表达式匹配的 URI。
高优先级匹配:



[*]使用 ^~ 时,Nginx 会给予这个 location 块更高的优先级,一旦匹配,就不会再思量其他非正则表达式的 location 块。
配置示例:



[*] 假设你想要将所有 /api/ 开头的请求署理到一个后端应用服务器,你可以这样配置:
server {
listen 80;
server_name example.com;
location ^~ /api/ {
    proxy_pass http://backend_server;
}
}
[*] 在这个例子中,所有以 /api/ 开头的请求(如 /api/users、/api/products)都会被署理到 http://backend_server。
与正则表达式匹配的区别:



[*]如果你使用 location ~ /api/,则 Nginx 会将其视为正则表达式匹配,并且会继承搜索其他正则表达式的 location 块,直到找到最长的匹配。
非严格匹配:



[*]^~ 匹配不是严格的,意味着它不会要求 location 块的路径完全匹配 URI 的一部分。例如,location ^~ /api/ 会匹配 /api/v1/users。
使用 location ^~ /api/ 可以有用地将特定路径的请求路由到不同的处理步伐,例如署理、静态文件服务或其他位置块。这种方式在配置 API 路由时特殊有用,因为它答应你将 API 请求与其他类型的请求分开处理。
终止监听端口占用

在不同的操作体系中,终止监听端口占用的命令行语句有所不同。以下是一些常见的命令:
在Linux或MacOS中:
查找占用端口的历程:

使用lsof或netstat命令来查找哪个历程正在使用特定的端口。
lsof -i :端口号
# 或者
netstat -tlnp | grep 端口号
杀死历程:

一旦你知道了历程ID(PID),你可以使用kill命令来终止该历程。
kill -9 PID
其中PID是占用端口的历程ID。
在执行这些操作时,请确保你了解正在终止的历程,因为逼迫终止体系历程或其他关键历程可能会导致体系不稳固或数据丢失。在执行任何杀死历程的操作之前,最好先确认该历程是否可以安全终止。
另外,如果你没有足够的权限执行这些命令,可能需要使用sudo(在Linux或MacOS中)或以管理员身份运行命令提示符(在Windows中)。
更改网址:server.port=8081

`server.port` 是一个常见的配置属性,通常出如今使用 Spring Boot 框架的 Java 应用步伐中。这个属性用于指定 Spring Boot 应用的 HTTP 服务器监听的端标语。
在 Spring Boot 应用中,`server.port` 可以在几个地方举行配置:
1. application.properties 或 application.yml 文件:

- 这是最常见的配置方式。你可以在这些配置文件中设置 `server.port` 属性来改变应用的监听端口。
   # application.properties
   server.port=8080

# application.yml
   server:
   port: 8080
2. 环境变量:

你也可以通过设置环境变量 `SERVER_PORT` 来配置端标语。
3. 命令行参数:

在启动应用时,可以通过命令行参数来指定端口:
java -jar yourapp.jar --server.port=8080
4. 编程方式:

- 在代码中,可以通过编程的方式设置端标语,例如在 Spring Boot 的 `application.properties` 或 `application.yml` 文件中不指定端口,然后在代码中通过 `@Value` 注解注入 `server.port` 属性,并据此来设置端口。
为什么需要配置 `server.port` 呢?因为在同一台呆板上运行多个 Spring Boot 应用时,每个应用都需要监听不同的端口以避免辩论。此外,了解和控制应用监听的端口对于网络安全和网络配置也是非常重要的。
如果你在部署 Spring Boot 应用时碰到端口辩论或需要根据环境(开发、测试、生产)动态调解端口,合理配置 `server.port` 是一个有用的解决方案。
快捷方式打开面板

元素、控制台或上一个面板
Mac
Cmd + Option + C
https://i-blog.csdnimg.cn/direct/91dd3e30c30e472c93409b8350cd2ff0.png

命令行语句:ls、pwd

命令行语句ls

ls 是一个在 Unix 和 Unix-like 操作体系(如 Linux 和 macOS)的命令行界面中使用的命令,用于列出目录内容。当你在终端或命令行界面中输入 ls 并按下回车键时,它会显示当前工作目录中的文件和子目录的名称。
以下是 ls 命令的一些常见用法和选项:
基本用法:



[*]ls:列出当前目录下的所有文件和目录。
查看隐藏文件:



[*]ls -a 或 ls -A:列出所有文件,包罗以点(.)开头的隐藏文件。
按时间排序:



[*]ls -lt:按时间排序,最新的文件显示在最前面。
显示详细列表:



[*]ls -l:以长格式列出文件详细信息,包罗权限、所有者、巨细和最后修改时间。
递归列出目录内容:



[*]ls -R:递归地列出所有子目录的内容。
按巨细排序:



[*]ls -lS:以长格式列出文件,并按文件巨细排序。
按修改时间排序:



[*]ls -lt:按修改时间排序,最新的文件显示在最前面。
指定路径:



[*]ls /path/to/directory:列出指定路径下的文件和目录。
组合选项:



[*]ls -lh:以长格式列出文件,并以易读的格式显示文件巨细(例如 KB、MB)。
搜索文件:



[*]ls -搜索字符串:列出包罗搜索字符串的文件和目录。
ls 命令是命令行用户最常用的命令之一,因为它提供了一个快速查看当前目录内容的方法。通过结合不同的选项和参数,你可以自定义输出,以满足特定的需求。
命令行语句pwd

pwd 是一个在 Unix 和 Unix-like 操作体系(如 Linux 和 macOS)的命令行界面中使用的命令,代表 “print working directory”,即“打印当前工作目录”。当你在终端或命令行界面中输入 pwd 并按下回车键时,它会显示你当前所在的完整目录路径。
以下是 pwd 命令的一些特点:
显示当前路径:



[*]pwd:显示当前工作目录的完整路径。
没有参数:



[*]pwd 命令不接受任何参数或选项,它始终显示当前目录的路径。
常用于导航确认:



[*]当你在命令行中使用 cd(change directory)命令导航到不同目录时,pwd 可以资助你确认当前所在的目录。
脚本中使用:



[*]在编写 Shell 脚本时,pwd 命令可以用来获取和纪录当前工作目录的路径。
环境变量:



[*]通常,pwd 命令依靠于 PWD 环境变量,该变量存储当前工作目录的路径。如果 PWD 变量未精确设置,pwd 命令可能会返回错误的路径。
权限标题:



[*]如果你由于权限标题无法访问某些上级目录,pwd 命令可能会显示 No such file or directory 错误。
pwd 是一个简单但非常有用的命令,它资助你了解当前的工作位置,这对于文件管理和导航至关重要。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Mac安装配置使用nginx的一系列标题