Mac Nginx 配置文件使用(nginx.conf,包含M1)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Mac Nginx 配置文件使用(nginx.conf,包含M1)

一、Mac Nginx 安装


二、nginx.conf 配置文件使用


  • 配置文件路径为:


``` /usr/local/etc/nginx/nginx.conf


M1 系统路径

/opt/homebrew/etc/nginx/nginx.conf ```


本地 hosts 文件路径:


/etc/hosts


找到配置文件之后,通常我们需要先备份一下,nginx.conf 文件拷贝一份改名为 nginx.conf.bak ,以防万一,我们继续使用 nginx.conf 文件进行配置调整:




  • 使用命令行去除注释内容


``` $ cd /usr/local/etc/nginx $ egrep -v '#|^$' nginx.conf


M1 系统路径

/opt/homebrew/etc/nginx ```


  • 这是去除注释之后的内容,我们来分析分析大概意思,如果有需要可以看看 Nginx 配置文件(nginx.conf)属性详细总分析


```


Nginx worker 进程个数:其数量直接影响性能。

推荐设置:cpu的个数 * 核心数(几核CPU)


worker_processes 1;


events { # 配置每个工作进程支持的最大连接数(一个进程的并发量) worker_connections 1024; }


http { # 嵌入其他配置文件 include mime.types;


# 响应文件类型
default_type  application/octet-stream;
# 日志格式
# 语法:log_format 格式名称 格式样式(可以多个)
# log_format 与 access_log 既可以配置在 http{ ... }里面,也可以配置在虚拟主机 server{ ... } 里面
#log_format  main  '$remote_addr - $remote_user - $http_user_agent';
# 日志文件的存放路径、格式、缓存大小
# log_format 与 access_log 既可以配置在 http{ ... }里面,也可以配置在虚拟主机 server{ ... } 里面
#access_log  logs/access.log  main;
# 是否使用 sendfile 系统调用来传输文件
sendfile        on;
# 超时时间
keepalive_timeout  65;
# 每一个 server 就是一个虚拟主机,当需要多站点的时候多配置几个 server 即可
server {
    # 监听的端口号
    listen       8080;
    # 主机名称,如果是本地电脑测试,记得在 hosts 文件中做好域名解析
    server_name  localhost;
    # 当浏览器输入地址访问服务器的时候,就会进入到这个里面来匹配,这个配置看文章底部
    location / {
        # 匹配的根目录,只写文件名默认在 /nginx 文件夹下
        # 也可以写成绝对路径 root /usr/local/var/dzm;
        root   html;
        # 设置默认首页,按先后顺序匹配首页
        index  index.html index.htm;
    }
    # 当报错 500 502 503 504 的时候走这个指定页面
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}
# 嵌入其他配置文件
# 语法:include /path/file 绝对路径,指定目录下的指定文件
# 语法:include path/file 相对路径,指定目录下的指定文件
# 语法:include path/* 指定目录下的所有文件
# 语法:include file 当前 nginx.conf 同文件夹下的指定文件
# 参数既可以是绝对路径也可以是相对路径(相对于 nginx 的配置目录,即 nginx.conf 所在的目录
# 本文下面有使用示例 —— nginx.conf 多个虚拟主机使用
include servers/*;


} ```


三、测试 mac 本机新增一个虚拟主机


  • nginx.conf:


# 新增一个 server server { listen 8080; server_name www.dzm.com; location / { root /usr/local/var/dzm; index index.html; } }




  • hosts:


# 多站点配置测试 127.0.0.1 www.dzm.com


配置好之后,需要运行 $ nginx -s reload 刷新配置文件,然后访 http://www.dzm.com:8080 路径


  • 运行效果




四、多个虚拟主机使用


  • 现在我的 server 虚拟主机都是放在当前 nginx.conf 文件中,如果当有很多的虚拟主机的时候,我们可以将这些配置虚拟主机单独放在一个文件里面进行配置,然后 include 到 nginx.conf 文件中即可,这样也就避免了 nginx.conf 内容庞大!


  • 这里我在 nginx.conf 当前文件夹内新建一个 servers/servers.conf 文件夹跟文件,servers.conf 文件里面就存放我们的虚拟站点,你也可以一个文件一个站点。




在配置文件里面最尾部我们已经配置了 include servers/*;,也就相当于导入 servers 文件夹内的所有文件。


  • 在 servers.conf 文件中,我重新配置了一个新的域名,并在 hosts中配置好


  • servers.conf:


server { listen 8081; server_name www.xyq.com; location / { root /usr/local/var/xyq; index index.html; } }




  • hosts:


# 多站点配置测试 127.0.0.1 www.dzm.com 127.0.0.1 www.xyq.com


配置好之后,需要运行 $ nginx -s reload 刷新配置文件,然后访 http://www.xyq.com:8081 路径


  • 运行效果



五、虚拟主机别名设置


  • servers.conf:


server { listen 8081; # 别名只需要在域名后面通过 空格分开之后直接写别名即可 server_name www.xyq.com xyq.net xyq.cn; location / { root /usr/local/var/xyq; index index.html; } }


  • hosts:


# 多站点配置测试 127.0.0.1 www.dzm.com 127.0.0.1 www.xyq.com 127.0.0.1 xyq.net 127.0.0.1 xyq.cn


配置好之后,需要运行 $ nginx -s reload 刷新配置文件,然后访 http://www.xyq.com:8081 路径


  • 运行效果






六、日志配置跟使用,以及日志路径指定


  • 可以看看 Nginx 配置文件(nginx.conf)属性详细总分析,有对 log_format 与 access_log 的介绍跟使用,以及 log_format 的日志格式配置。


  • 这里我就在 http{ ... } 里面在配置一个 log_format 与 access_log


``` http { ......


logformat mylog '$remoteaddr - $request - $status - $httpuseragent'; access_log test.access.log mylog;


server { ... } } ```


  • 然后执行 $ nginx -s reload,刷新一下当前服务器配置的网页,然后就拿到对应的日志了


由于我这里是通过 HomeBrew 安装的 Nginx, 所以他的日志路径都是软链接,在 Linux 里面就不会这样了,其实无论什么系统,只要区分好相对路径跟绝对路径就不会乱,日志路径:


/usr/local/Cellar/nginx/1.17.3_1/test.access.log




  • 在 nginx 服务器运行中,每天都会产生大量的日志,有时候我们需要每天都要同步一次日志,或者每天都要单独一份日志文件,我们就可以通过定时任务来完成日志文件的分割


定时任务完成日志分割链接 提取密码: 0vsf。


七、location 的作用,可以看看 Nginx 配置文件(nginx.conf)属性详细总分析 中的 location 使用实例


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
缓存 负载均衡 应用服务中间件
nginx的配置文件详解
本文详细解释了nginx配置文件中的关键指令和区块,如http、server、location、upstream、events等,并通过一个示例配置文件展示了如何设置HTTP服务器、gzip压缩、反向代理、URL重写、错误页面和负载均衡等,强调了配置的灵活性和实际应用。
42 4
|
1月前
|
Java Shell 应用服务中间件
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
1421 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
|
1月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
150 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
1月前
|
缓存 负载均衡 算法
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个通用的 TCP/UDP 代理服务器,以及一个邮件代理服务器和通用的 HTTP 缓存服务器。
69 0
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
|
1月前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
102 0
Mac os 安装 nginx 教程(success)
|
1月前
|
域名解析 网络协议 应用服务中间件
nginx server_name配置文件覆盖不生效
nginx server_name配置文件覆盖不生效
|
1月前
|
应用服务中间件 nginx
nginx 配置文件
nginx 配置文件
|
1月前
|
应用服务中间件 程序员 开发工具
mac下安装nginx
mac下安装nginx
|
1月前
|
应用服务中间件 网络安全 nginx
nginx作为web服务以及nginx.conf详解
nginx作为web服务以及nginx.conf详解
|
3月前
|
应用服务中间件 PHP nginx
Mac安装Nginx
Mac安装Nginx
40 2
Mac安装Nginx