在 Ubuntu 14.10/14.04/13.10 上安裝 LEMP 服務和 phpMyAdmin

贊 回覆發表於2014-11-15

LEMP是一個作業系統和幾個開源軟體包的合稱。縮寫LEMP來自 Linux,Nginx(發音是 engine-x)HTTP伺服器, MySQL資料庫,和 PHP/ Perl/ Python的首字母。

在這篇教程裡,讓我們看一下如何在 Ubuntu 14.10 上安裝 Nginx,MySQL 或 MariaDB,PHP 和 phpMyAdmin。

安裝Nginx

Nginx (發音是engine-x)是一個免費的、開源的、高效能HTTP伺服器和反向代理,也可以用作IMAP/POP3代理伺服器,它是由Igor Sysoev開發。

要安裝Nginx,在你的終端裡輸入下面的命令:

注意:如果你的系統裡已經安裝了apache2,先解除安裝掉以避免衝突。要解除安裝apache,執行下面的命令:

sudo apt-get purge apache2*
sudo apt-get autoremove -y

現在,用下面的命令安裝nginx:

sudo apt-get install nginx

用下面的命令啟用Nginx服務:

sudo service nginx start

測試 nginx

開啟你的瀏覽器訪問http://IP地址/或者http://localhost/。將可以看到類似下面的截圖。

配置 Nginx

用任意文字編輯器開啟檔案/etc/nginx/nginx.conf

sudo nano /etc/nginx/nginx.conf

設定 worker_processes(例如,你係統裡CPU數目)。檢視CPU數目,可以使用命令“lscpu”。在我這裡是“1”。所以我把這個值設為1。

worker_processes 1;

重啟 Nginx 服務:

sudo service nginx restart

預設虛擬主機(伺服器模組)定義在檔案/etc/nginx/sites-available/default裡。

用任意文字編輯器開啟檔案/etc/nginx/sites-available/default。

sudo nano /etc/nginx/sites-available/default

在Server區域裡,按如下設定伺服器FQDN或IP地址。確保你增加了index.php這一行。

[...]
server {
      listen 80 default_server;
      listen [::]:80 default_server ipv6only=on;
      root /usr/share/nginx/html;
      index index.php index.html index.htm;
      # Make site accessible from http://localhost/
      server_name server.unixmen.local;
[...]

這裡面

  • listen 80; –> 監聽ipv4埠
  • listen [::]:80 default_server ipv6only=on; –> 監聽ipv6寬口
  • root /usr/share/nginx/html; –> 檔案根目錄
  • server_name server.unixmen.local; –> 伺服器FQDN

現在,向下滾動找到區域#location ~ .php$。去掉註釋並按如下修改:

 location ~ \.php$ {
         try_files $uri =404;   ---------> Add this line
         fastcgi_split_path_info ^(.+\.php)(/.+)$;
         #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
         #
         #       # With php5-cgi alone:
         #       fastcgi_pass 127.0.0.1:9000;
         #       # With php5-fpm:
         fastcgi_pass unix:/var/run/php5-fpm.sock;
         fastcgi_index index.php;
         include fastcgi.conf;
    }

這裡面,我增加了額外一行‘try_files $uri =404;’用於避免0day漏洞。

儲存檔案並退出。

測試 nginx 配置

使用下面的命令測試nginx配置是否存在語法錯誤:

sudo nginx -t

典型輸出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

最後重啟nginx服務

sudo service nginx restart

安裝 MySQL

MySQL是一個關係型資料庫管理系統(RDBMS),作為服務啟動提供給多使用者訪問多種資料庫,儘管SQLite可能有更多的嵌入式部署。

sudo apt-get install mysql-server mysql-client

在安裝過程中,會提示你設定MySQL超級使用者密碼。輸入密碼並按確認。

重新輸入密碼。

現在,MySQL伺服器就安裝好了。

你可以用下面的命令檢查 MySQL 伺服器狀態:

sudo service mysql status

典型輸出:

mysql start/running, process 5671

注意:如果你希望使用MariaDB而不是MySQL,可以參考下面的步驟。

安裝 MariaDB

MariaDB是 MySQL 的一個直接替代軟體。它是一個穩定、可擴充套件又可靠的SQL伺服器,包含許多增強功能。

首先,如果有的話你得先解除安裝掉 MySQL。要完全解除安裝 MySQL 包括配置檔案,輸入如下命令:

sudo apt-get purge mysql*

執行如下命令清除不需要的軟體包。

sudo apt-get autoremove

在解除安裝完MySQL後,執行如下命令安裝MariaDB。

sudo apt-get install mariadb-server mariadb-client

另外,如果你希望體驗最新版的MariaDB,可以從MariaDB倉庫安裝。執行下面的命令新增PPA。在寫這篇文章的時候,MariaDB PPA還沒有更新 Ubuntu 14.10。不過,我們還是可以使用 Ubuntu 14.04 的倉庫來替代。

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://sgp1.mirrors.digitalocean.com/mariadb/repo/5.5/ubuntu trusty main'

用如下命令更新一下軟體源列表,然後安裝MariaDB:

sudo apt-get update
sudo apt-get install mariadb-server mariadb-client -y

在安裝過程中,會提示你設定資料庫‘root’使用者密碼。

重新輸入一次密碼:

點選‘是’遷移到 MariaDB。注意一下,如果在安裝MariaDB之前沒有裝過 MySQL 的話,不會提示你這個問題。

你可以用如下命令檢查 MariaDB 版本:

sudo mysql -v -u root -p

典型輸出:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 34
Server version: 5.5.39-MariaDB-2 (Ubuntu)

Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.

Reading history-file /home/sk/.mysql_history
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

用如下命令檢查MariaDB是否已經開始執行:

sudo service mysql status

典型輸出:

 * /usr/bin/mysqladmin  Ver 9.0 Distrib 5.5.39-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.

Server version        5.5.39-MariaDB-2
Protocol version    10
Connection        Localhost via UNIX socket
UNIX socket        /var/run/mysqld/mysqld.sock
Uptime:            2 min 21 sec

Threads: 1  Questions: 566  Slow queries: 0  Opens: 330  Flush tables: 4  Open tables: 22  Queries per second avg: 4.014

安裝 PHP

PHP(PHP: Hypertext Preprocessor的遞迴縮寫)是一個應用廣泛的開源通用指令碼語言,特別適合於網頁開發,可以直接嵌入到 HTML 中。

使用如下命令安裝PHP:

sudo apt-get install php5 php5-fpm php5-mysql

配置PHP

用任意文字編輯器開啟php.ini檔案:

sudo nano /etc/php5/fpm/php.ini

找到這一行‘cgi.fix_pathinfo=1′,去掉註釋並把值1改為0。

cgi.fix_pathinfo=0

現在重啟php-fpm服務。

sudo service php5-fpm restart

測試 PHP

在nginx文件根目錄下建立一個測試檔案“testphp.php”。

sudo nano /usr/share/nginx/html/testphp.php

加入下面幾行。

<?php
 phpinfo();
?>

儲存檔案並退出。

訪問地址http://server-ip-address/testphp.php。將顯示出所有關於 php 的資訊,比如版本、構建日期以及命令等等。

PHP-FPM會預設監聽套接字/var/run/php5-fpm.sock。如果你希望PHP-FPM使用TCP連線,開啟檔案/etc/php5/fpm/pool.d/www.conf

sudo nano /etc/php5/fpm/pool.d/www.conf

找到這一行listen = /var/run/php5-fpm.sock,

;listen = /var/run/php5-fpm.sock

把它改成listen = 127.0.0.1:9000

listen = 127.0.0.1:9000

儲存退出。重啟 php5-fpm 服務。

sudo service php5-fpm restart

現在開啟 nginx 配置檔案:

sudo nano /etc/nginx/sites-available/default

找到這一行fastcgi_pass unix:/var/run/php5-fpm.sock;,參考下面把它改成 fastcgi_pass 127.0.0.1:9000;。

location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;fastcgi_pass 127.0.0.1:9000;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #       # With php5-cgi alone:
        fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
        #        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
   }

儲存退出。最後重啟 nginx 服務。

sudo service nginx restart

使用 phpMyAdmin 管理 MySQL 資料庫(可選)

phpMyAdmin是一個免費的開源網頁介面工具,用來管理你的 MySQL 資料庫。

安裝 phpMyAdmin

在 Debian 官方倉庫裡就有。所以可以用下面的命令安裝:

sudo apt-get install phpmyadmin

選擇一個網頁伺服器。預設情況下,這裡不會顯示 nginx。所以,選擇 apache 或者 lighttpd,然後我們再把 phpMyAdmin 和 nginx 連線起來工作。

選擇‘是’通過dbconfig-common為phpMyAdmin配置資料庫。

輸入資料庫的管理員賬號密碼。

輸入 phpmyadmin 帳號的 MySQL 密碼:

重新輸入一次密碼。

phpMyAdmin 就安裝完成了。

建立一個 phpMyAdmin 的軟連線到網站根目錄。這裡我們的網站根文件目錄是/usr/share/nginx/html/。

sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html

重啟 nginx 服務。

sudo service nginx restart

訪問 phpMyAdmin 網頁控制檯

現在你可以在瀏覽器中通過地址http://server-ip-address/phpmyadmin/訪問 phpMyAdmin 的控制檯了。

輸入你在前面步驟裡留下的 MySQL 使用者名稱和密碼。在我這裡是“root”和“ubuntu”。

就可以重定向到 phpMyAdmin 的網頁管理首頁。

src="https://img.linux.net.cn/data/attachment/album/201411/15/170711vy3tvt3cvv27bv8v.png" />

現在你就可以在 phpMyAdmin 網頁裡管理你的 MyQL 資料庫了。

就這樣。你的 LEMP 伺服器已經配置完畢,可以使用了。


via: http://www.unixmen.com/install-lemp-server-nginx-mysql-mariadb-php-phpmyadmin-ubuntu-14-1014-0413-10/

作者:SK 譯者:zpl1025 校對:Caroline

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章