2020-11-20|閱讀時間 ‧ 約 5 分鐘

CentOS 8 安裝 LEMP

本筆記紀錄如何在Linux(CentOS 8)安裝Nginx, MySQL, PHP環境。
為了方便,以下皆以root身份來安裝,先切換至root: $ su -

安裝Nginx:
CentOS 8 的 Repository 內建 Nginx,直接下指令安裝: $ yum -y install nginx
啟動Nginx: $ systemctl start nginx
設定開機自動啟動: $ systemctl enable nginx
接著設定firewalld:
  • 啟動與開機自動執行 $ systemctl start firewalld $ systemctl enable firewalld
  • 列出目前允許的rule: $ firewall-cmd --list-services
可以看到預設已經允許ssh了
可以看到預設已經允許ssh了
  • 打開80 & 443 port: $ firewall-cmd --permanent --add-service=http $ firewall-cmd --permanent --add-service=https $ firewall-cmd --reload
測試Nginx是否安裝成功:

安裝PHP:
CentOS 8 自帶PHP 7.2版本,若想安裝7.2以上的版本,需用其他方式安裝。
安裝php與常用套件: $ yum install php php-fpm php-mysqlnd php-opcache php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
php fpm 預設以apache這個user/group的身分來執行,需改為nginx。 打開這個文件: $ vim /etc/php-fpm.d/www.conf
找到如下圖紅框,改為nginx。
啟動PHP-FPM與開機自啟動: $ systemctl start php-fpm $ systemctl enable php-fpm
重啟nginx生效設定: $ systemctl restart nginx
測試php是否成功安裝: $ vim /usr/share/nginx/html/test.php
建立並打開test.php輸入以下code:
?php phpinfo(); ?

安裝MySQL:
CentOS 8 預設的 repositories 已經內建 MySQL 8.0 $ dnf install @mysql
啟動MySQL與開機自動執行: $ systemctl enable --now mysqld
安全設定: $ mysql_secure_installation
如上圖,會詢問是否要安裝 VALIDATE PASSWORD component,這是可以測試 MySQL 密碼強度的 plugin,可選擇等級。
輸入完設定的密碼後,會判斷密碼強度數值,詢問是否確定。
提示MySQL預設會有一個匿名用戶,允許任何人不必創建帳號就能登入,這僅用於測試跟讓安裝快速,記得把它刪除。
正常來說,root應該只能從localhost登入,避免有意人士從外部連進來猜root密碼,因此詢問要不要移除root可遠端登入。
是否要移除測試資料庫與權限,之後reload privilege table立刻生效。
登入MySQL: $ mysql -u root -p 輸入密碼
若登入成功即安裝完成。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.