web工具

Mac下nginx安装及设置

2019-01-06  本文已影响127人  英文名叫夏天

一、安装

nginx在mac的安装依赖于homebrew包管理工具,只需一行命令

brew install nginx

homebrew包管理工具的安装

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

二、常用命令

nginx -v  #查看版本
nginx -t # 检查配置
nginx  # 启动
nginx -s stop   # 快速关闭
nginx -s quit   # 关闭
nginx -s reload # 重新加载配置文件
nginx -s reopen # 重新打开log
以上命令如果有报权限相关的错误在命令前加sudo

三 、 配置

全局搜索配置文件:

sudo find / -name nginx.conf

编辑配置文件

打开/usr/local/etc/nginx/nginx.conf进行编辑

server {
        listen       8080;
        server_name  localhost;
        root /www/;
        location / {
            root   /www/;
            index  index.html index.htm;
        }

编辑测试内容

cd /    # 进入根目录
sudo mkdir www  #创建www目录
sudo chown [user] /www/    #将www目录所有者更改为当前用户
cd /www #进入www目录
touch index.html    #创建index.html
echo nginx test > index.html  #在index.html中输入nginx test

测试

http://127.0.0.1:8080/

四、https

创建证书

cd /usr/local/etc/nginx # 生成证书和私钥的目录
openssl genrsa -des3 -out server.key 1024   # 创建服务器私钥,该命令会让你输入一个口令
openssl req -new -key server.key -out server.csr    # 创建签名请求的证书(CSR)
cp server.key server.key.org    
openssl rsa -in server.key.org -out server.key  # 在加载SSL支持的Nginx并使用上述私钥时除去必须的口令
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt  # 最后标记证书使用上述私钥和CSR

编辑配置文件

打开/usr/local/etc/nginx/nginx.conf进行编辑

# HTTPS server
    #
    server {
        listen       443 ssl;
        server_name  localhost;

        # ssl_certificate      cert.pem;
        # ssl_certificate_key  cert.key;
        ssl_certificate      server.crt;
        ssl_certificate_key  server.key;

        # ssl_session_cache    shared:SSL:1m;
        # ssl_session_timeout  5m;

        # ssl_ciphers  HIGH:!aNULL:!MD5;
        # ssl_prefer_server_ciphers  on;

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

重启Nginx

nginx -s reload

五、常见问题

1.当出现以下错误时:
nginx: [error] invalid PID number "" in "/usr/local/var/run/nginx/nginx.pid"

$ sudo nginx -c /usr/local/etc/nginx/nginx.conf
$ sudo nginx -s reload
  1. nginx.conf不生效的问题
server {
        listen       8080;
        server_name  localhost;
        root /www/;
        location / {
            root   /www/; #  注意这里需要和root保持一致
            index  index.html index.htm;
        }
上一篇下一篇

猜你喜欢

热点阅读