VirtualBox建置LNMP-1

最近遇到客戶家的主機因被要求要升級php 版本,為了測試升級是否會造成程式出現問題,所以決議要雲主機建立符合需求的環境,再將專案搬遷過去。
因為之前都沒碰過主機環境建置,只有在剛開始學程式的時候做過一次,筆記也有點零散,所以在正式執行之前,先透過虛擬機練習建置環境,以減少之後會發生的錯誤,及加快作業速度,並將過程記錄下來,待日後可以查看。


下載所需的CentOS7 映像檔

官網

新增虛擬主機

  1. VirtualBox 選單中點選新增,命名後依照主機需求選擇記憶體及硬碟(我選 2048M / 立即建立)

  2. 硬碟檔類型這邊因為只需要個人使用,所以選擇 VDI,若有需要跨其他虛擬機器(如 VMWare)則建議選VMDK

  3. 選擇動態分配硬碟大小

  4. 設定

    • 因首次安裝,開機順序較無所謂。
    • 處理器可依需求增加CPU。
    • 存放裝置點選控制器IDE,空的,並在右邊光碟機選到一開始下載的映像檔

      安裝CentOS7

  5. 點選啟動後,透過鍵盤上下鍵,可選擇安裝centOS7 或 先測試再安裝

  6. 安裝完後會進到配置頁面,軟體選擇可依需求選擇,因為我還要另外練習安裝其他所需軟體,這邊我選基礎架構伺服器

  7. 配置Root 密碼及建立用戶,一般Root帳號不會輕易使用,避免權限過大做了不良的操作,所以會再建立至少一個用戶,但Root 密碼要記得。

  8. 跑完之後點選重新開機,就完成安裝了

  9. 網路設定
    可以試著先ping 8.8.8.8,可能會發現 Network is unreachable,意思是連不上網路,所以要進入網路設定

    1
    nmtui

    會進入一個藍色的畫面,選擇Edit A Connection
    左邊會顯示目前的網卡,點選Enter 進入編輯(或方向鍵向右,選擇Edit),確認Ipv4 及 Ipv6 都是自動連線,下方 Automatically Connect 選起來。
    重複上面的流程,將所有網卡都設定好,離開(quit)。
    這時再ping 8.8.8.8 一次就會有回應了,確認有回應後可按下ctrl + C 離開。

輸入指令,確認主機的ip 位置

1
ip addr

若發現剛才設定的網卡inet 顯示 10.0.*.,表示使用到的是虛擬網卡,這會導致無法遠端連線進入這台電腦(例如使用putty),所以要將inet 改變成 192.168..*的型態。
這邊先將主機關機,回到 VirtualBox 的設定,將網路附加到橋接介面卡,使用電腦的連線方式(我這邊是wifi 網卡,所以也選擇wifi 選項)。
設定好後再重新開機,再看一次ip 會發現已經改為我們希望看到的ip 型態,這時就可以使用putty 連線看看了。

接下來的安裝都會使用putty,原因是

  • virtualBox 滑鼠需要進入、退出有點麻煩
  • virtualBox 無法貼上。
    這參考了許多網路上的做法,設定了貼上為雙向,但還是不知道怎麼貼上,後續有找到方法再補充上來。
  1. 變更固定ip
  • 確認ip 資訊

    1
    ifconfig
  • 或查看檔案得知目前ip 設定

    1
    cat /etc/sysconfig/network-scripts/ifcfg-網卡名稱
  • 得到更多資訊

    1
    nmcli device show
  • 目標

    1. 將ip 改為 192.168.0.254
    2. gateway: 192.168.250.254
    3. DNS: 192.168.250.254
  • 操作

    1. 變更
      1
      nmcli connection modify 網卡名稱 ipv4.addresses 192.168.0.254/24 ipv4.gateway 192.168.250.254 ipv4.dns 192.168.250.254 ipv4.method manual connection.autoconnect yes
    2. 重啟
      1
      2
      3
      sudo nmcli connection reload
      sudo systemctl restart network
      sudo systemctl reboot

安裝Nginx

參考

  1. 安裝 yum-utils 套件,因為我是使用個人帳號登入,所以需要多下sudo 指令

    1
    sudo yum install yum-utils
  2. 建立 Nginx 使用的repo 設定檔(使用預設編輯器vi)

    1
    sudo vi /etc/yum.repos.d/nginx.repo

將設定檔內容貼上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

內容預設啟用 Nginx stable 穩定版本,較適合正式上線的系統,如果要使用 Nginx 的 mainline 版,則將 [nginx-stable] 區段調整為 enabled=0、[nginx-mainline] 區段調整為 enabled=1。
或者下指令變更

1
sudo yum-config-manager --enable nginx-mainline
  1. 執行安裝Nginx
    1
    sudo yum install nginx
  • 會詢問是否確認下載 -y
  • 確認安裝GPK key -y
  • 完成安裝
  1. 啟用Nginx 服務
    1
    sudo systemctl start nginx
  2. 啟用開機自動啟動
    1
    sudo systemctl enable nginx
  3. 開通本機防火牆
    1
    2
    3
    4
    sudo firewall-cmd --permanent --add-service=http
    # success
    sudo firewall-cmd --reload
    #success

檢查Nginx服務啟動狀態

1
sudo systemctl status nginx

啟動狀態

此時可用網頁輸入ip 位置,確認Nginx 安裝成功