在 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 伺服器已經配置完畢,可以使用了。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive