Windows 10 bash & nginx 安裝及問題排除

Windows10 bash & nginx 安裝

因為等待許久 MacOS 實在不太爭氣,也沒有一個很完整的商務方案,可以提供给商務及開發兩者的開發機器,最近開始嘗試著使用 surface pro 4,而這個機器使用的正是 Windows 10 環境。

Windows 10 bash

  • Bash on Windows10

  • 安裝方式,首先必須要升級到 Windows 10 16xxx 版本。

  • 接著開啟 develope mode 讓權限開啟。

  • 再來是到 Turn Windows features on or off 項目中,啟動 Windows Subsystem for Linux (beta)

接著重新開啟後,到項目中找到 Bash 就可以啟動 Bash on Ubuntu on Windows

window10 update 問題處理

這邊我遇到一個問題,就是經過多次 Windows update 卻無法成功。

每次更新下載完,重新等待安裝完畢,卻會出現 error.

解決方法,進入控制台的「使用者帳戶控制設定」,然後將通知等級往下拉,設定改為「不要通知」。

接著再次進行更新即可。

Windows10 bash install nginx

Windows10 bash 安裝的所有方式,採用 ubuntu 指令來進行安裝,因此安裝指令也用大家常見的 apt-get 進行安裝,更新。

只是在 Windows10 裡面有一個已知的問題,當如果啟動伺服器的時候, localhost, 127.0.0.1 無法正確讀取。

unable to resolve host 解決方式 solve

試著

sudo rm /etc/hosts  

再把全部的 bash 頁面關閉重新啟動即可,接著繼續進行安裝 nginx,指令如下,

wget http://nginx.org/packages/keys/nginx_signing.key  
cat nginx_signing.key | sudo apt-key add -  
sudo apt-get update  
sudo apt-get install nginx -y  

啟動 nginx

但是因為 Window10 預設有些服務就已經把 http 80 port 佔用,導致 nginx 無法正常執行,需要先把服務關掉,執行步驟如下

  1. windows key + x
  2. select console (admin)
  3. run net stop http

再進行編輯,設定 nginx.conf,

vi /etc/nginx/nginx.conf  

內容直接增加一行,儲存後離開,

master_process off;  

接著再把 nginx ipv6 的設定關閉,修改 /etc/nginx/sites-available/default 這個檔案,

修改內容如下,

server {  
        listen 80 default_server;
        # 直接刪除底下這行
        # listen [::]:80 default_server ipv6only=on;

接著再重新啟動 nginx

sudo service nginx restart  

看到服務啟動結果顯示 OK 表示完成執行。

http://127.0.0.1/  
http://localhost/  

都可以正常指向到 nginx 預設網頁,表示安裝成功。

後記

文章記錄到這邊,有正確跟完的朋友,恭喜各位也將 Windows 10 bash for nginx 的環境設定完成。

用到目前為止, Windows 10 環境還在重新適應,畢竟是一個 mobile & Desktop 的共用環境,還需要一段時間適應它。

你說,微軟不一樣了嗎? 我想每個公司只要進入成長穩定期之後,都會是一樣的,畢竟離不開那簡單的幾件事情吧!

微軟目前正在將受眾轉換中,大家就盡情享受這種饗宴吧!

CaesarChi

Web developer, focus on website fullstack, special JavaScript, and love sharing developing experience and communicate with developers. http://about.me/clonn