在CentOS系統上搭建LNMP環境(Linux, Nginx, MySQL, PHP)是一個常見的任務,用于托管Web應用程序。以下是詳細的步驟指南:
首先,確保你的CentOS系統是最新的。
sudo yum update -y
使用yum包管理器安裝Nginx。
sudo yum install -y epel-release
sudo yum install -y nginx
安裝完成后,啟動Nginx并設置為開機自啟動。
sudo systemctl start nginx
sudo systemctl enable nginx
驗證Nginx是否正常運行:
curl http://your_server_ip
如果看到Nginx的默認歡迎頁面,說明安裝成功。
CentOS 7及以上版本使用MariaDB作為MySQL的替代品。
sudo yum install -y mariadb-server mariadb
啟動MariaDB并設置開機自啟動。
sudo systemctl start mariadb
sudo systemctl enable mariadb
運行安全性配置腳本以強化MariaDB的安全性。
sudo mysql_secure_installation
安裝PHP及其必要的模塊。
sudo yum install -y epel-release
sudo yum install -y php php-fpm php-mysql php-gd
配置PHP-FPM以使用Unix套接字與Nginx通信。編輯/etc/php-fpm.d/www.conf文件,將listen值改為:
listen = 127.0.0.1:9000
啟動PHP-FPM并設置為開機自啟動。
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
編輯Nginx的默認配置文件/etc/nginx/conf.d/default.conf,在server塊中添加以下內容:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
重啟Nginx以應用更改。
sudo systemctl restart nginx
關閉防火墻和SELinux(可選,但推薦)。
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sudo setenforce 0
將你的PHP項目代碼放置到Nginx的默認網站根目錄/usr/share/nginx/html,并確保Nginx配置文件中的root指令指向該目錄。
通過以上步驟,你應該能夠在CentOS系統上成功搭建LNMP環境。如果在安裝過程中遇到問題,可以參考相關軟件的官方文檔或尋求社區幫助。