CentOS 下安裝LEMP服務(Nginx、MariaDB/MySQL和PHP)(1)
LEMP 組合包是一款日益流行的網站服務組合軟體包,在許多生產環境中的核心網站服務上起著強有力的作用。正如其名稱所暗示的, LEMP 包是由 Linux、nginx、MariaDB/MySQL 和 PHP 組成的。在傳統的 LAMP 包中使用的 Apache HTTP 協議伺服器效能低下而且難於大規模叢集,相比來說 nginx 的高效能及輕量級等特性,正是其的替代方案。 MariaDB 是一款社區支援驅動的 MySQL 資料庫的分支,其功能更多效能更佳。PHP,服務端程式設計語言,具體是由 PHP FastCGI 的增強版 PHP-FPM 組件來處理,產生網頁動態內容。
LCTT 譯註:為何採用 LEMP 而不是 LNMP 的縮寫?據 https://lemp.io/ 的解釋:Nginx 的發音是 Engine-X,重要的發音而不是首字母,而且 LEMP 實際上是可讀的,而 LNMP 看起來只是字母表。)
這篇文章裡,我們示範如何在 CentOS 操作平台上安裝 LEMP 包。我們安裝的目標是 CentOS 6 和 CentOS 7 兩個操作平台,如有必要會指出它們的不同。
第一步: Nginx
讓我們在 CentOS 上安裝 nginx 作為第一步,然後對它作些基本的配置,比如使其能引導時啟動和對防火牆做個人化。
安裝 Nginx
讓我們從它的官方的 RPM 源來安裝一個預構建的穩定版本的 nginx 包。
在 CentOS 7 系統上:
- $ sudo rpm --import http://nginx.org/keys/nginx_signing.key
- $ sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
- $ sudo yum install nginx
在 CentOS 6 系統上:
- $ sudo rpm --import http://nginx.org/keys/nginx_signing.key
- $ sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
- $ sudo yum install nginx
注意在安裝 nginx RPM 包之前,如果您沒有匯入 nginx 的官方 GPG 密鑰的話,會出一如下所示的警告:
- warning: /var/tmp/rpm-tmp.KttVHD: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY
啟動 Nginx
安裝完成後,nginx 是不會自動啟動的。現在讓我們來啟動它吧,還要做些配置讓其可以隨著作業系統啟動而啟動。我們也需要在防火牆裡開啟 TCP/80 連接埠,以使得可以遠端存取 nginx 的 web 服務。所有這些操作、設定都只需要輸入如下命令就可實現。
在 CentOS 7 系統上:
- $ sudo systemctl start nginx
- $ sudo systemctl enable nginx
- $ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
- $ sudo firewall-cmd --reload
在 CentOS 6 系統上:
- $ sudo service nginx start
- $ sudo chkconfig nginx on
- $ sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
- $ sudo service iptables save
測試 Nginx
nginx 的預設文件要目錄是 /usr/share/nginx/html。預設的 index.html 檔案一定已經在這目錄下了。讓我們檢測下是否可以訪問到這個測試 web 頁,輸入 http://nginx的ip地址/ 訪問。
如果您看到的是如上所示的頁面的話,說明 nginx 已經正常啟動。繼續往下。