Ubuntu 16.04 安裝 Nginx, MySQL, PHP (LEMP)

LEMP 意思是 Linux + Nginx, + MySQL + PHP。Nginx (發音能同 engine x) 是一款以性能取向的網頁伺服器, 較 Apache 及 Lighttpd 使用較少記憶體, 而配置 Nginx 及 PHP 的方法與 Apache 有點不同, 因為 Nginx 是透過 php-fpm (FastCGI Process Manager) 運作的, 以下是在 Ubuntu 16.04 安裝 Nginx, MariaDB 及 PHP 的方法。

安裝 Nginx
Ubuntu 16.04 安裝 Nginx 比以前簡單,因為 Nginx 已經在 Ubuntu 16.04 的預設 Repositories 內, 用 apt-get 指令安裝:

$ sudo apt-get update
$ sudo apt-get install nginx

Nginx 預設的 Document Root 並不存在, 手動建立及設定權限:

$ sudo mkdir /var/www
$ sudo chown www-data:www-data /var/www

安裝好 Nginx 網頁伺服器後, 便可以用瀏覽器檢查 Nginx 是否可以連接, 例如:

http://server-ip/

如果看到 “Welcome to Nginx!” 頁面便安裝成功了。

安裝 MySQL Server

安裝 MySQL 同樣可以用 apt-get 完成, 執行以下指令安裝 MySQL Server:

$ sudo apt-get install mysql-server

安裝時 MySQL 會詢問要設置的 root 新密碼, 或者可以執行 mysql_secure_installation 修改:

# mysql_secure_installation

安裝 PHP

Nginx 要使用 PHP 需要連同 php-fpm (Fast CGI Process Manager) 一同安裝:

$ sudo apt-get install php-fpm php-mysql

安裝好 PHP 後, 開啟檔案 /etc/php/7.0/fpm/php.ini, 找到 cgi.fix_pathinfo=1, 將 1 改成 0, 即這樣:

cgi.fix_pathinfo=0

儲存檔案後, 可以用以下指令啟動 php-fpm

$ sudo systemctl restart php7.0-fpm

現在設定 Nginx 使用 PHP 處理 PHP 網頁, 在 Nginx 透過 Server Block (即 Apache 的 Virtual Hosts) 設定。開啟 Nginx 預設 Server Block 設定檔:

$ sudo vi /etc/nginx/sites-available/default

內容像以下:

將檔案內容改成以下這樣:

儲存檔案後離開編輯器, 現在可以重新啟動 Nginx:

$ sudo systemctl reload nginx

要測試 PHP, 可以放一個簡單的 PHP Script 到 /var/www/html/ 目錄, 這裡:

# vi /var/www/html/info.php

輸入以下幾行程式碼:

然後在瀏覽器看看 http://localhost/info.php, 如果看到 PHP 的設定資料便表示安裝完成了。




Leave a Reply