Linux中國

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

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中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國