论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
移动端开发
›
Mac安装设置使用nginx的一系列问题
Mac安装设置使用nginx的一系列问题
万万哇
金牌会员
|
2025-3-17 09:27:18
|
显示全部楼层
|
阅读模式
楼主
主题
930
|
帖子
930
|
积分
2790
brew安装nginx
https://juejin.cn/post/6986190222241464350
使用brew安装nginx,如下命令所示:
brew install nginx
如下图所示:
2.查看nginx的设置信息,如下命令:
brew info nginx
复制代码
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
复制代码
打开nginx目录后,可以看到我们上面的使用 brew info nginx
查看信息所说的 server目录以及nginx.conf的设置文件,那么我们的nginx被安装到什么地方呢?我们从上面的截图可以看到,是在 这个目录下 /opt/homebrew/Cellar/nginx,实行如下命令可以查看到:
open /opt/homebrew/Cellar/nginx
复制代码
会打包目录,如下图所示:
进入上面的 1.27.3文件后,如下图所示:
在该目录下可以看到一个名字为html的快捷方式的文件夹,进入该目录后,它有两个文件50.html和index.html,如下图所示:
启动nginx服务
如下命令:
brew services start nginx // 重启的命令是: brew services restart nginx
复制代码
如下图所示:
Nginx下载成功了但是访问http://localhost:8080/时,表现堕落,多次实验都没有结果;
寻求资助
最后通过森哥资助办理:
首先跟随该教程进行编译安装
Mac编译安装Nginx_mac nginx-CSDN博客
实验了很多方法办理问题,但是最终都没有取得想要的结果;
重新安装设置
于是把原本安装好的nginx卸载掉了,重新进行下载安装设置:
通过以下代码,进行nginx重启:
上网查询,通过以下代码进行查询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博客
最后将课程中所给的前端环境中的资源拷贝放置到了对应的nginx位置
而且对nginx中的nginx.conf文件进行对应的编译改写,
server {
listen 90;
server_name localhost;
location / {
root html;
index index.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
命令行语句: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企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
万万哇
金牌会员
这个人很懒什么都没写!
楼主热帖
markdown day 01
Linux系统调用四、lseek()函数详解 ...
Nacos注册中心-----从0开始搭建和使用 ...
基于CSDN云和docker全家桶的微服务项目 ...
ClickHouse(05)ClickHouse数据类型详解 ...
应急救灾物资行业标准与规范 ...
【云原生】Docker 进阶 -- 数据卷使用 ...
100天精通Python(进阶篇)——第39天 ...
谈谈技术能力
读Java性能权威指南(第2版)笔记02_ J ...
标签云
运维
CIO
存储
服务器
浏览过的版块
DevOps与敏捷开发
程序人生
分布式数据库
向量数据库
SQL-Server
数据仓库与分析
Nosql
主机安全
快速回复
返回顶部
返回列表