执行下面命令安装最新版的Nginx:
brew install nginx
安装成功之后可以查看帮助信息:
# 查看帮助信息
nginx -h
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]
Options:
-?,-h : 帮助信息
-v : 查看版本号
-V : 查看版本号跟配置信息
-t : 测试配置信息是否无误
-q : 执行测试配置信息的时候阻止非错误信息的输出
-s signal : 发送信号: stop(停止), quit(退出), reopen(重启), reload(重新加载配置)
-p prefix : 设置nginx的前缀 (默认: /usr/local/Cellar/nginx/1.8.0/)
-c filename : 设置配置文件位置 (默认: /usr/local/etc/nginx/nginx.conf)
-g directives : 设置全局指令
sudo nginx
然后在网页打开http://localhost:8080
看到Nginx
的欢迎信息说明启动成功。
默认情况下Nginx监听了8080
这个端口号,若需要修改监听端口号,可以编辑/usr/local/etc/nginx/nginx.conf
这个文件,但是若要改成80
端口号而且不是root
用户登录的话是不会生效的,所以需要执行下面代码:
sudo chown root:wheel /usr/local/Cellar/nginx/1.8.0/bin/nginx (nginx的实际安装路径)
sudo chmod u+s /usr/local/Cellar/nginx/1.8.0/bin/nginx
一般情况下修改了配置信息
之后都需要执行下面命令测试配置信息
是否无误然后重新启动服务器:
nginx -t && nginx -s reopen
ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
Nginx
的配置文件主要分四个部分:
这部分的指令将会影响其他部分的设置
最大连接数 = worker_processes * worker_connections / 4
,所以这里客户端最大连接数是1024,这个可以增到8192,但不能超过worker_rlimit_nofile
。当Nginx作为http服务器时,计算公式里面是除以2.提供http服务相关的一些配置参数,如:是否使用keepalive,是否使用gzip进行压缩
http服务上支持若干虚拟主机,每个虚拟主机对应一个server配置项
listen:*:8080
、listen:127.0.0.1:8080
等形式localhost
、www.jd.com
,可以通过正则匹配http服务中,某些特定的URL对应的一系列配置项
location
URL匹配的是子目录或文件,root
没什么作用,一般放在server
指令里面或/
下。root
放
还有http_proxy
、http_gzip
、访问控制allow/deny
等这里就不赘述,有兴趣可以翻看 官方文档下面提供一份相对简单的配置文件示例:
user www www;
worker_processes 2;
error_log logs/error.log;
pid logs/nginx.pid;
events {
use epoll;
worker_connections 2048;
}
# http服务器设置
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# server主机配置
server {
listen 8080; #监听端口号
server_name localhost; #主机名
charset utf-8;
access_log logs/host.access.log main;
# location 配置
location / {
root html;
index index.php index.shtml index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
为了灵活配置nginx的站点,可以参考以下配置:
A. 在/usr/local/etc/nginx/下面新建两个目录:sites-available和sites-enabled
B. 在sites-available里面新建default.conf,将nginx.conf里面的默认站点配置的内容拷贝过去,并注释掉原内容
C. 在nginx.conf里面增加以下内容
include /usr/local/etc/nginx/sites-enabled/*;
D. 将sites-available目录下的配置建立symlink至site-enabled目录
ln -sfv /usr/local/etc/nginx/sites-available/default.conf /usr/local/etc/nginx/sites-enabled/default.conf
E. 重启nginx服务
# restart
sudo nginx -s stop
sudo nginx
默认的目录在这里:
/usr/local/Cellar/nginx/1.2.3/html
其中1.2.3是版本,根据实际按照情况不同
跑去nginx.conf文件中修改默认目录:
server {
listen 80;
server_name localhost;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
默认目录即上面的root的地方,可以修改成用户目录,例如: /User/lv/www