mac系统,nginx和apache如何共存?
发布于 作者:苏南大叔 来源:程序如此灵动~mac系统下,默认是自带apache
的,但是通常的线上环境又是nginx
。苏南大叔就需要在本地开发机上面搭建个nginx
的环境,在这个过程中,apache
和nginx
之间的设置是如何调整的呢?这点谜团将在本文中揭晓。
基本上来说就是:默认的apache
占用了端口80
,但是网络新贵nginx
也想要占用这个端口80
,apache
去占用端口8080
可好?
修改apache
端口号
apache
的默认配置文件位置为:/etc/apache2/
。修改成端口8080
,这点很好操作,也不会出什么问题,这里不做赘述。
vi /etc/apache2/httpd.conf
vi /etc/apache2/extra/httpd-vhost.conf
一般来说需要修改/etc/apache2/httpd.conf
和 /etc/apache2/extra/httpd-vhost.conf
这两个文件。毕竟nginx
的应用场景要远大于apache
,所以,苏南大叔这里需要把80
端口让给nginx
。苏南大叔把apache
配置中的80
字样修改成了8080
字样,重启生效。
下面命令,用于测试配置文件和重启apache
。关联文章:
sudo apachectl -t
sudo apachectl restart
如果一切顺利的话,您将看到如下界面。
下面的是个最新的截图,做个补充说明。
brew
安装nginx
并进行配置
使用brew
安装nginx
是最简单快捷的了。命令如下:
sudo brew install nginx
没有安装brew
命令的话,请参考下面这篇文章:
默认的配置文件位置为:/usr/local/etc/nginx/nginx.conf
。然后我们把里面默认的8080
字样修改成80
字样。
但是毕竟nginx
是外来软件,并不是mac
系统默认的,所以80
端口也不是说占用就占用的。苏南大叔这里需要设置一下相关权限。
下列命令中的nginx
版本的详细路径,可以通过brew info nginx
来查看。
sudo chown root:wheel /usr/local/Cellar/nginx/1.12.2_1/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.12.2_1/bin/nginx
sudo chown -R root:wheel /usr/local/etc/nginx/
我们可以这样测试配置是否修改正确,然后重载nginx
的配置文件。当然,可能还可以重启nginx
服务。
nginx -t
nginx -s reload
brew services restart nginx
如果一切顺利的话,您将看到如下界面。
下面的是个最新的截图,做个补充说明。
相关链接
- 《apache配置vhost网站》 https://newsn.net/say/apache-vhost.html
- 《mac系统的80端口的那些事》 https://newsn.net/say/mac-port-80.html
- 《如何测试apache和nginx的配置是否正确》 https://newsn.net/say/apache-nginx-conf.html
结论
本文也是个新瓶装老酒,知识点在苏南大叔以前的文章中,都有提及,这里也仅仅是重新总结一下罢了。更多苏南大叔的nginx
相关文章,请点击这里查看:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。