Linux web架站套件 ,大都是使用LAMP架構,不過在一些環境中
可以改用 LEMP 架構 ( Linux Nginx MariaDB PHP ),
會更輕巧化 ,如果要使用LAMP可參考此篇
Debian10 LAMP環境建置(Linux,Apache,MySQL, PHP)
這邊我們使用Debian10 來做範例,使用MariaDB來替代MySQL,
MariaDB在相容上與MySQL一致,因此不需擔心會有系統及操作上的問題
如果您尚未安裝Debian10 可以參考以以下安裝範例
Debian 10(Buster)安裝
當系統準備就緒即可開始安裝
Setp1 安裝Nginx 和設置防火牆
為了讓網站訪問者顯示網頁,使用Nngix,性能及穩定性卓越
使用apt管理器安裝之前,先更新apt數據庫,接著安裝Nginx
sudo apt update
sudo apt install nginx -y
如果您的主機提示沒有sudo指令
輸入下列命令安裝sudo
apt install sudo -y
啟UFW防火牆,允許Nginx服務通過,如沒有安裝防火牆,則略過此步驟
sudo ufw allow 'Nginx HTTP'
檢查防火牆狀態
sudo ufw status
在瀏覽器輸入IP,檢驗Nginx是否運作
http://your_server_ip
Step2 安裝 MariaDB
現在網頁伺服器已運作,接下來需要安裝資料庫,用來儲存與管理數據
使用Debian的apt管理器安裝MariaDB
sudo apt install mariadb-server -y
進行安全性的設定
sudo mysql_secure_installation
預設是未設置密碼,這邊不用輸入密碼按下Enter
是否設定root帳號密碼:Y or Enter
是否移除匿名帳號:Y or Enter
限制root帳戶為本地連線:Y or Enter
刪除測試資料庫:Y or Enter
重新載入設定:Y or Enter
完成後,輸入以下命令登錄MariaDB控制台
sudo mariadb
為了提高安全性,我們建立一個名稱為example_database的資料庫,並設置較少的權限
CREATE DATABASE example_database;
建立一個新用戶,並賦予上述新建的資料庫所有權限
“password”自行更改為更安全的密碼
GRANT ALL ON example_database.* TO 'example_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
更新資料庫權限
FLUSH PRIVILEGES;
離開控制台
exit
登入mariaDB測試剛建立的使用者帳號
mariadb -u example_user -p
登入之後,顯示資料庫,確認有example_database的使用權限
SHOW DATABASES;
離開控制台
exit
到這邊,資料庫系統已建立,準備安裝PHP
Step3 安裝PHP
使用apt管理器安裝PHP及PHP模組
sudo apt install php-fpm php-mysql -y
在Debian10,Nginx默認啟用一個服務區塊,配置在var / www / html,
如果您只有一個網站,使用上很方便,但如果是多個網站,管理上會不方便,
這邊將var / www / html保留默認目錄,使用your_domain為名創建一個根目錄
sudo mkdir /var/www/your_domain
配置$USER分配目錄的所有權,$USER為您當前的系統使用者
sudo chown -R $USER:$USER /var/www/your_domain
使用命令編輯器,在Nginx的sites-available目錄中打開一個新的配置文件
複製貼上以下內容,儲存後離開
sudo nano /etc/nginx/sites-available/your_domain
server { listen 80; listen [::]:80; root /var/www/your_domain; index index.php index.html index.htm; server_name your_domain; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; } }
啟動上述配置的文件
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
檢查Nginx配置文字是否有文法錯誤
如果發現錯誤,查看前述編輯文件內容複製時,是否有更動到內容
sudo nginx -t
重新啟動Nginx
sudo systemctl reload nginx
Step5 測試PHP網頁
建立一個簡單的PHP腳本來確認Nginx能夠處理PHP的請求
nano /var/www/your_domain/info.php
編輯並輸入下列PHP代碼,儲存後離開
<?php phpinfo(); ?>
打開瀏覽器測試建立好的web server是否正常運作PHP script
http://your_domain/info.php
出現此頁面後,表示PHP正常工作,此頁面提供一些有關伺服器的資訊,
為了避免將此資訊內容讓其他用戶看見,輸入以下指令刪除它,
如果之後您需要在檢視此頁面,可以依照上述步驟再建立檢視
nano rm /var/www/your_domain/info.php
現在您已經完成 LAMP 環境建置,您將可以使用來運作您的網站或應用程式
參考