Mac下Nginx的安装和配置
1、Homebrew 是 macOS 下的套件管理器,我们需要使用它进行 Nginx 的安装。
获取Homebrew十分简单,只需要打开终端,输入如下一行代码即可:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
1、使用 Homebrew 安装 Nginx,在终端输入如下命令:
brew install nginx
2、验证 Nginx 是否安装成功
安装后我们使用 nginx -v 来查看 Nginx 版本,若显示如下信息则证明安装成功。
1、进入 Nginx 的安装目录,我本地的安装目录是 /usr/local/etc/nginx/ ,打开该目录下的 nginx.conf 文件。
可根据如下命令操作。
2、对 nginx.conf 文件进行配置:
----------
# 在配置文件的顶级main部分,代表worker角色的工作进程的个数
worker_processes 1;
# 错误日志
error_log /usr/local/var/log/nginx/error.log warn;
# 进程文件
pid /usr/local/var/run/nginx.pid;
events {
# 写在events部分。每一个worker进程能并发处理(发起)的最大连接数
worker_connections 256;
}
http {
# 文件扩展名与文件类型映射表
include mime.types;
# 设定默认文件类型
default_type application/octet-stream;
# 为Nginx服务器设置详细的日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access log 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息
# access log 路径
access_log /usr/local/var/log/nginx/access.log main;
# 如果port_in_redirect为off时,那么始终按照默认的80端口;如果该指令打开,那么将会返回当前正在监听的端口。
port_in_redirect off;
# 开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
sendfile on;
# 配置信息文件夹,如 Nginx 安装目录不同请自行修改
include /usr/local/etc/nginx/conf.d/*.conf;
}
3、根据上面的配置可以看出,我们把对 server 的配置统一放置在 conf.d 文件夹中。
首先先在 Nginx 安装目录下创建conf.d文件夹:
4、在文件夹 conf.d 创建默认配置文件 default.conf:
5、对 default.conf 进行如下配置:
----------
# 虚拟主机配置
server {
# 监听端口
listen 80;
# 域名设定,可以有多个
server_name localhost;
root /Users/www/test/; # 该项要修改为你准备存放相关网页的路径
location / {
# 定义路径下默认访问的文件名
index index.php;
# 打开目录浏览功能,可以列出整个目录
autoindex on;
}
#proxy the php scripts to php-fpm
location ~ \.php$ {
# fastcgi配置
include /usr/local/etc/nginx/fastcgi.conf;
# 指定是否传递4xx和5xx错误信息到客户端
fastcgi_intercept_errors on;
# 指定FastCGI服务器监听端口与地址,可以是本机或者其它
fastcgi_pass 127.0.0.1:9000;
}
}
1、Nginx默认监听的端口是8080,在上述配置中我把它改成监听80端口。
配置的虚拟主机指向 /Users/www/test/ 目录,我在这个目录下新建了一个 index.php 文件,用来测试 Nginx 是否已配置成功。
index.php 文件内容如下:
2、使用如下命令重启 Nginx:
sudo nginx -s reload
3、访问刚刚所配置的 localhost 域名,得到如下结果就说明配置成功啦。