V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
V2EX  ›  Homebrew

关于用 Homebrew 安装 NGINX 并改成 80 端口启动

  •  
  •   Livid · 2019-09-03 07:03:22 +08:00 · 5090 次点击
    这是一个创建于 1909 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Homebrew 的一些机制一直在变,所以有的时候如果用关键字直接搜索,可能会找到一些过时的信息。

    在目前版本的 macOS Mojave 里,用 Homebrew 安装 NGINX 并改为 80 端口启动的最简洁的步骤是:

    brew install nginx
    

    会安装目前最新的 1.17.3 版本。

    然后把配置文件里的默认的 8080 改为 80:

    vi /usr/local/etc/nginx/nginx.conf
    

    然后,在第一次启动 NGINX 服务的时候,需要用 sudo,因为使用了特权端口 80:

    sudo brew services start nginx
    

    如果你安装了其他也需要使用特权端口的服务,比如需要使用 53 端口的 DNSCrypt-Proxy,那么也需要在第一次启动的时候用 sudo。之后如果 restart 的时候也需要用 sudo。

    8 条回复    2019-09-03 10:08:08 +08:00
    lululau
        1
    lululau  
       2019-09-03 07:50:31 +08:00 via iPhone
    Mojave 好像没有特权端口的概念了,不需要 sudo,我是用 Alfred 管理 homebrew 安装的服务,比命令行方便
    lululau
        2
    lululau  
       2019-09-03 07:51:05 +08:00 via iPhone   ❤️ 1
    github:lululau/homebrew-services-alfred-workflow
    tulongtou
        3
    tulongtou  
       2019-09-03 08:48:19 +08:00 via iPhone
    这种 sudo 启动的服务,重启电脑会自动启动嘛?
    Livid
        4
    Livid  
    MOD
    OP
       2019-09-03 08:49:38 +08:00
    @tulongtou 会。sudo 的意思是这个服务会以 root 的权限去管理。如果不加 sudo,那么 brew 会用当前普通用户的权限去管理服务。
    liujj
        5
    liujj  
       2019-09-03 09:00:35 +08:00
    在命令行依次执行这两条命令就可以,以后每次 brew 更新了 nginx,都要以相应的版本执行一遍
    sudo chown root:wheel /usr/local/Cellar/nginx/1.17.3/bin/nginx
    sudo chmod u+s /usr/local/Cellar/nginx/1.17.3/bin/nginx
    关于原理,可以搜索一下 linux 文件 mod 中 user 位 s 权限的含义
    toyassb
        6
    toyassb  
       2019-09-03 09:20:50 +08:00   ❤️ 1
    两种方法主要区别在于启动时机(login \boot )


    Start the MySQL service at login with:
    brew services start mysql

    Start the Dnsmasq service at boot with:
    sudo brew services start dnsmasq

    https://github.com/Homebrew/homebrew-services
    richzhu
        7
    richzhu  
       2019-09-03 09:35:52 +08:00 via iPhone
    因为只有 root 权限才能管理 1000 一下的端口,你改到 1000 以上试试,应该不用 sudo
    secretman
        8
    secretman  
       2019-09-03 10:08:08 +08:00
    运行服务用 root 有风险吧,应该用专门建立的服务账户
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   921 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:20 · PVG 05:20 · LAX 13:20 · JFK 16:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.