前言
Win10 上的 Bash on Ubuntu 是个很好用的玩具,让windows开发环境下的人能无缝操练Linux,但是涉及到网络部分还是有很多要该进的地方,比如Nginx的安装就遇到了问题。
过程
安装
sudo apt install nginx
启动
sudo service nginx start
报错: 大意端口无法绑定,关闭IIS或者修改nginx 端口为8080依旧无法启动,并且bash中ps -ef无法查看到端口情况
解决方法
查找github上的Bash on Windows 的issue,果然有人提这个问题,找了好一会解决了,https://github.com/Microsoft/BashOnWindows/issues/68, 具体如下
1.修改 /etc/nginx/nginx.conf, 添加配置(添加到第四行),
master_process off;
2.重启
sudo service nginx restart
3.注意不要添加配置 daemon off;,它会导致nginx卡死,无法返回默认html页,服务也无法重启
4.如果还不行就把配置中ip4和ip6的端口改成不同的两个端口,再不行就去https://github.com/Supervisor/supervisor/issues 中寻找希望了
其他注意
nginx 启动后你在bash中ps -ef依旧无法查看道nginx的端口占用,但是sudo service nginx status,能看到* nginx is running,并且在window的cmd下使用netstat -an能看到配置的8080端口已被占用,也能在浏览器中访问127.0.0.1:8080,问题虽有,但是作为个人开发环境还是可以的.