【雲端計算的1024種玩法】手把手學會配置安裝LNMP建站環境
前言
在雲端計算普及之前的 VPS 時代基本上網路環境環境都是靠 LNMP(Linux + Nginx + MySQL + PHP)支撐起來的,因為其配置方便而且相較於 LAMP(Linux + Apache Httpd + MySQL + PHP)在小配置機器上表現非常好。不過 LNMP 的的更新可遠不止這些。
本教程就介紹如何配置一個效能優異、靈活自由而且升級方便的進階型 LNMP 環境,由 Ubuntu + OpenResty + MariaDB + PHP 組成,相容 LNMP 的習慣但是更加靈活和可靠。
準備
雲翼計劃
學生使用者可以在阿里雲官網上進行學生認證後購買一定配置的ECS,僅需9.9元每月,學生使用者無需擔心花費過多用在伺服器的問題。
學生使用者在經過學生認證過後就可以在相關網址進行購買,網址為:https://promotion.aliyun.com/ntms/campus2017.html,
買好了伺服器就可以去剛剛註冊好的賬號管理裡的管理控制檯去檢視伺服器以及它的一些配置。
遠端控制
【雲端計算的1024種玩法】使用 DMS 只要一個瀏覽器輕鬆搞定運維任務
【雲端計算的1024種玩法】ECS和輕量應用伺服器的遠端控制入門
設定安全組(重要)
如果不設定好安全組,究竟是無法訪問還是編譯失敗會分不清的。
需要開放 : 80 和 443 埠
安裝
OpenResty
為了更好的效能和靈活性,OpenResty 選擇編譯的方式。OpenResty 是一個基於 Nginx 與 Lua 的高效能 Web 平臺,擁有非常好的擴充性讓伺服器發揮更好效能。教程中將全部依賴 Linux 發行版組建中的依賴,而免除編譯帶來的後期維護成本。
詳情: 【雲端計算的1024種玩法】手把手教你如何編譯一個高效能 OpenResty
PHP
軟體源安裝的 PHP 預設以 Unix Socket 的狀態執行在 /run/php/php7.2-fpm.sock
,比使用 TCP 以 localhost:9000
的方式效能更好。
安裝軟體源擴充
安裝軟體源擴充工具:
apt -y install software-properties-common
新增 Ondřej Surý 的 PHP PPA 源,需要按一次回車:
add-apt-repository ppa:ondrej/php
更新軟體源快取:
apt update
安裝軟體
安裝 PHP7.2:
apt install php7.2-fpm php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-opcache -y
安裝 PHP7.1:
apt install php7.1-fpm php7.1-mysql php7.1-curl php7.1-gd php7.1-mbstring php7.1-mcrypt php7.1-xml php7.1-xmlrpc php7.1-zip php7.1-opcache -y
安裝 PHP7.0:
apt install php7.0-fpm php7.0-mysql php7.0-curl php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-xml php7.0-xmlrpc php7.0-zip php7.0-opcache -y
安裝 PHP5.6:
apt install php5.6-fpm php5.6-mysql php5.6-curl php5.6-gd php5.6-mbstring php5.6-mcrypt php5.6-xml php5.6-xmlrpc php5.6-zip php5.6-opcache -y
設定 PHP
這裡以 PHP7.2 為例,其他版本僅需將版本號改成自己所用的即可. 安裝完成後,編輯 /etc/php/7.2/fpm/php.ini
替換換 ;cgi.fix_pathinfo=1
為 cgi.fix_pathinfo=0
快捷命令:
sed -i `s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/` /etc/php/7.2/fpm/php.ini
管理 PHP
安裝好了先重啟一下! 更多操作:
systemctl restart php7.2-fpm #重啟
systemctl start php7.2-fpm #啟動
systemctl stop php7.2-fpm #關閉
systemctl status php7.2-fpm #檢查狀態
檢視當前 PHP 版本:
php -v
MariaDB
這裡我們用 MariaDB 代替 MySQL,MariaDB 資料庫管理系統是 MySQL 的一個分支,主要由開源社群在維護,採用 GPL 授權許可 MariaDB 的目的是完全相容 MySQL,包括 API 和命令列,使之能輕鬆成為 MySQL 的代替品。
安裝 MariaDB 參考:【雲端計算的1024種玩法】安裝 MariaDB 並通過 DMS 管理
可以實現通過阿里雲的 DMS 產品高效且視覺化的對 MariaDB 資料庫進行管理,直觀而且高效。
設定
僅僅只是安裝好 OpenResty 、MariaDB 和 PHP 但不進行結合就是沒有意義的。那麼如何建立虛擬子主機呢,並讓 OpenResty 載入 PHP-FPM呢?
預設主機安裝探針和 phpMyAdmin
開啟 PHP-FPM
將 /usr/local/openresty/nginx/conf/nginx.conf
中的這一段修改為,下面 PHP 的版本是 7.2,裡面還加入了防跨站引數其他版本記得修改:
######################## default ############################
server {
##執行埠
listen 80;
##這條意味著非指定域名之外均使用這個設定
server_name _;
access_log /data/wwwlogs/access_nginx.log combined; #日誌目錄
root /data/wwwroot/default; #網站檔案目錄
index index.html index.htm index.php; #首頁檔案優先順序
##PHP
location ~ [^/].php(/|$) {
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/:/proc/";
}
##下面的都是快取
location ~ .*.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
expires 30d;
access_log off;
}
location ~ .*.(js|css)?$ {
expires 7d;
access_log off;
}
location ~ /.ht {
deny all;
}
}
下載探針
cd /data/wwwroot/default
wget http://www.yahei.net/tz/tz.zip
unzip tz.zip
訪問:http://yourip/tz.php
就可以看到親切的雅黑探針了。
下載 phpMyAdmin
cd /data/wwwroot/default
wget https://files.phpmyadmin.net/phpMyAdmin/4.7.1/phpMyAdmin-4.7.1-all-languages.zip
unzip phpMyAdmin-4.7.1-all-languages.zip
mv phpMyAdmin-4.7.1-all-languages pma
訪問:http://yourip/pma
就可以看到親切的 phpMyAdmin 了。
虛擬子主機
單獨為域名專門開闢虛擬子主機,首先建立儲存內容的目錄:
mkdir -p /data/wwwroot/主機目錄名稱
mkdir -p /usr/local/openresty/nginx/conf/vhost/
接下來,建立子主機配置檔案,記得將 server_name yourdomian;
改成 server_name 你的域名
:
cat >> /usr/local/openresty/nginx/conf/vhost/yourdomian.conf << EOF
server {
##執行埠
listen 80;
##這裡需要改成你的域名
server_name yourdomian;
access_log /data/wwwlogs/access_nginx.log combined; #日誌目錄
root /data/wwwroot/yourdir; #網站檔案目錄
index index.html index.htm index.php; #首頁檔案優先順序
##PHP
location ~ [^/].php(/|$) {
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/:/proc/";
}
##下面的都是快取
location ~ .*.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
expires 30d;
access_log off;
}
location ~ .*.(js|css)?$ {
expires 7d;
access_log off;
}
location ~ /.ht {
deny all;
}
}
EOF
然後重啟 OpenResty,就可以訪問你的 http://你的域名
看看網站的 403 了:
nginx -s reload
更新
很多教程比較流氓的就是針對安裝了 LNMP 環境卻不提供更新 OpenResty 、ariaDB 和 PHP 的方法,特別是一些編譯方式的教程,升級就更是問題了,極大的提高了使用者的安全風險和學習成本。
不過我們的這個 LNMP 環境方便的就在於升級非常方便。
執行
apt update && apt upgrade
就可以實現 PHP、MariaDB 以及 Ubuntu 系統元件的更新和升級,非常的快捷方便。 OpenResty 的升級教程也將在後面寫出來~
結語
學會安裝 LNMP 環境後基本上除非一些非常老舊的版本。就能通吃所有的 PHP 程式的安裝了,希望大家能夠應用到自己的 Linux 學習當中。
相關文章
- 【雲端計算的1024種玩法】手把手教你如何編譯升級OpenResty編譯REST
- Docker 下安裝配置 lnmp 環境DockerLNMP
- HHvm建站環境搭建方法:Nginx、lnmp/lamp等安裝部署NginxLNMPLAMP
- LNMP 環境安裝LNMP
- 安裝LNMP環境LNMP
- macOS 安裝 LNMP 環境MacLNMP
- brew lnmp 環境安裝LNMP
- PHP環境LAMP/LNMP安裝與配置筆記PHPLAMPLNMP筆記
- lnmp環境安裝詳細LNMP
- 快速搭建 Linux(LNMP + Linux 安裝 + 環境配置)LinuxLNMP
- Magento2 LNMP 環境安裝LNMP
- ubuntu 16.04安裝LNMP環境UbuntuLNMP
- Ubuntu20 LNMP 環境安裝UbuntuLNMP
- zabbix一鍵安裝lnmp環境LNMP
- 雲端計算簡介+雲端計算建站平臺
- mac brew 安裝 lnmp環境 代替MampMacLNMP
- lnmp環境安裝-原始碼編譯LNMP原始碼編譯
- centos6.2LNMP環境安裝(yum)CentOSLNMP
- 安裝 CentOS7.x 下的所需的 Lnmp 環境以及配置,PHP 篇CentOSLNMPPHP
- centos7使用yum安裝lnmp環境CentOSLNMP
- Linux 下使用 Docker 安裝lnmp環境LinuxDockerLNMP
- 【Linux】LNMP 環境搭建(上):安裝篇LinuxLNMP
- [Linux] LNMP 環境搭建(上):安裝篇LinuxLNMP
- 如何利用LNMP環境安裝SMF論壇程式LNMP
- Mac下安裝LNMP(Nginx+PHP5.6)環境MacLNMPNginxPHP
- 短期怎麼學會雲端計算?新手學習雲端計算的規劃
- 【雲端計算的1024種玩法】玩轉四大主流作業系統的軟體包管理器作業系統
- 【Linux運維】LNMP環境配置Linux運維LNMP
- 在 Ubuntu18.04 下安裝 LNMP 環境UbuntuLNMP
- Laravel 之道特別篇一: yum 安裝 LNMP 環境LaravelLNMP
- angular環境配置及安裝Angular
- Java安裝和環境配置Java
- scala安裝及環境配置
- GoLand安裝及環境配置GoLand
- Git環境配置與安裝Git
- CentOS上JETTY環境的配置安裝CentOSJetty
- 雲端計算環境下的BGP協議應用協議
- windows 10 配置 docker lnmp 開發環境WindowsDockerLNMP開發環境