Environment
mac os version: 10.12.6
nginx version: 1.12.1
Installation
작가는 homebrew를 사용해 라이브러리를 설치합니다
brew search nginx brew install nginx
이렇게 설치하고 나면 듣기가 되는 것을 알 수 있습니다. nginx의 포트가 80이 아니라 8080이라면 이때 nginx의 수신 대기 포트를 변경해야 합니다. 이 단계는 매우 중요하며 기존 방식으로는 변경할 수 없습니다. 독자 여러분, 이 부분을 주의 깊게 읽어보시기 바랍니다.
Mac OS에는 자체적으로 포트 80을 차지하는 자체 Apache 서비스가 제공되므로 먼저 Apache의 수신 포트를 다른 것으로 변경하거나 직접 제거해야 합니다. 작성자는 수신 포트를 8011로 변경했습니다.
명령줄
sudo vim /etc/apache2/httpd.conf
sudo vim /etc/apache2/httpd.conf
图片中红色框打开原本是80端口,作者已将其改为8011。
apache_conf.png
改动之后,将其重启 sudo /usr/sbin/apachectl restart
到这里,你已经将80端口释放掉了。
其次你需要了解的就是plist文件。plist就是property list format的意思,是苹果用来保存应用数据的格式,其实就是个xml。可以在/usr/local/opt/nginx 下找到nginx对应的plist文件,比如在作者电脑上是 homebrew.mxcl.nginx.plist 。
它的内容如下:
<?xml version="1.0" encoding="utf-8"?> <!doctype plist public "-//apple//dtd plist 1.0//en" "http://www.apple.com/dtds/propertylist-1.0.dtd"> <plist version="1.0"> <dict> <key>label</key> <string>homebrew.mxcl.nginx</string> <key>runatload</key> <true/> <key>keepalive</key> <false/> <key>programarguments</key> <array> <string>/usr/local/opt/nginx/bin/nginx</string> <string>-g</string> <string>daemon off;</string> </array> <key>workingdirectory</key> <string>/usr/local</string> </dict> </plist>
需要把这个文件复制到 /library/launchdaemons 下,如果是 ~/library/launchagents 也可以,但两者有区别。
前者是系统启动时启动,后者则是在用户登录时启动。 接着执行launchctl load -w,如下:
sudo cp /usr/local/opt/nginx/*.plist /library/launchdaemons
sudo launchctl load -w /library/launchdaemons/homebrew.mxcl.nginx.plist
最后,重启你的机器,你会发现nginx在80端口启动了,试着通过http://localhost直接访问,若出现下边图片的显示则意味着你的nginx的80端口已经配置完成,意味着你已经完成了六成的工作。
如果你tomcat的端口是8080,此时你便要启动它,之所以在此时启动tomcat是为了先让tomcat占用8080端口,因为在后面配置nginx转发时需要配置8080端口的转发,为了在那个时候不被nginx抢先占用8080端口(这里也可以不启动tomcat,只要你在配置好nginx转发配置后不要立刻启动nginx服务即可,因为启动它便直接占用8080端口实现转发,而这时其实你还未使用8080端口)导致tomcat的启动的失败,因此可以先让tomcat占用端口而后在进行nginx对8080端口的映射转发。
此时你的tomcat已经启动好了,此时我们开始配置nginx的转发配置:
命令行
sudo vim /usr/local/etc/nginx/nginx.conf<br>
사진의 빨간색 상자는 원래 포트 80을 열었지만 작성자가 8011로 변경했습니다.
apache_conf .png
변경 후 다시 시작 sudo /usr/sbin/apachectl restart
내용은 다음과 같습니다.
rrreee
전자는 시스템이 시작될 때 시작되고, 후자는 사용자가 로그인할 때 시작됩니다. 그런 다음 다음과 같이 launchctl load -w를 실행합니다.
sudo cp /usr/local/opt/nginx/*.plist /library/launchdaemons
sudo launchctl load -w /library/launchdaemons/homebrew.mxcl.nginx.plist 마지막으로 컴퓨터를 다시 시작하면 nginx가 포트 80에서 시작되는 것을 확인할 수 있습니다. http://localhost를 통해 직접 액세스해 보세요. 아래 그림이 나타나면 nginx의 포트 80이 구성되었음을 의미합니다. 작업의 60%가 완료되었습니다.
Tomcat의 포트가 8080이라면 이때 시작해야 합니다. 이때 Tomcat을 시작하는 이유는 Tomcat이 8080 포트를 먼저 점유하도록 하기 위한 것입니다. 8080의 포워딩을 구성해야 하기 때문입니다. 나중에 nginx 전달 구성 시 nginx는 8080 포트를 선점하지 않습니다. (nginx 전달 구성을 구성한 후 즉시 nginx 서비스를 시작하지 않는 한 여기서 tomcat을 시작할 수도 없습니다. 이를 시작하면 전달을 위해 8080 포트가 직접 점유되며, 이때 실제로는(포트 8080이 사용되지 않음) Tomcat 시작이 실패하게 됩니다. 따라서 먼저 Tomcat이 포트를 점유하도록 한 다음 nginx 매핑을 수행할 수 있습니다. 포트 8080을 전달합니다.
이 시점에서 Tomcat이 시작되었습니다. 이제 nginx의 전달 구성을 구성하기 시작합니다.
명령줄sudo vim /usr/local/etc/nginx/nginx.conf<br>
위 내용은 Mac에서 Nginx를 사용하여 포트 80을 포트 8080으로 전달하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!