步驟說明
我們主要分為幾個步驟,增加軟體源 以安裝 Nginx 、 PHP 以及 MySQL (MariaDB)。然後,將 Nginx 作支援PHP的設置。並安裝 MySQL 與做些安全設置。最後,再將所有都設置為 自動啟動 。
本文章是參考至 How To Install Linux, nginx, MySQL, PHP (LEMP) stack on CentOS 6 - DigitalOcean.com
Step 1 - 安裝與設置
EPEL Repository
首要,我們得先安裝 epel 套件源,才得以安裝接下來需要的東西。所以,這邊我們使用 yum 來安裝此套件源。
1 | sudo yum install epel-release |
MySQL
接下來,我們必須安裝MySQL以及將其作基本設定。
1 | sudo yum install mysql-server |
然後,開始 啟動 MySQL。
1 | sudo service mysql start |
之後,我們要開始基本安裝與設定部分。先啟動預設的安裝軟體。
1 | sudo /usr/bin/mysql_secure_installation |
敲入後,應該會詢問您的密碼是甚麼?只要你是第一次安裝,都會是沒有密碼的。所以 直接 Enter 即可。
1 | Enter current password for root (enter for none): |
而接下來的問題,可以自己考慮去做更動設置。
1 | By default, a MySQL installation has an anonymous user, allowing anyone |
移除匿名帳號 (建議 Yes)
1 | Normally, root should only be allowed to connect from 'localhost'. This |
不允許遠端登入Root帳號 (建議 Yes)
1 | By default, MySQL comes with a database named 'test' that anyone can |
刪除掉 TEST 數據庫與訪問 (建議 Yes)
1 | Reloading the privilege tables will ensure that all changes made so far |
重讀用戶權限表 (建議 Yes)
以上弄完,就算完成基本設定了。
Nginx
接下來我們直接安裝 Nginx 即可。
1 | sudo yum install nginx |
然後啟動它。
1 | sudo service nginx start |
啟動後,就可以直接在瀏覽器上敲入自己的IP,來打開測試網頁。看是否成功了。
如果你不知道自己的 IP位置 在哪裡,使用ifconfig來知道自己的IP即可。
1 | ifconfig eth0 | grep inet | awk '{ print $2 }' |
解說: 以上的作法是,使用ifconfig來看eth0這個有線網路設備的資訊。並使用grep擷取顯示IP位置那行資訊,後使用awk來擷取第二欄的資訊。也就是IP位置。
PHP
安裝好伺服器,接下來要安裝支援的動態語言。
1 | sudo yum install php-fpm php-mysql |
安全性設置
安裝好後,要做的就是一些安全設置。先修正安全問題。首先先編輯/etc/php.ini
這個檔案。找到cgi.fix_pathinfo
,將其數值設置為0。
1 | sudo vim /etc/php.ini |
使用搜尋,找到並修改成下面這樣。
1 | cgi.fix_pathinfo=0 |
Nginx擴充設置
接下來,就要去修改網頁伺服器的設定。以讓它可以支援PHP語法了。所以我們要去編輯/etc/nginx/conf.d/default.conf
。
參考範本如下
1 | server { |
修改完成後,我們也要編輯PHP部分。要編輯/etc/php-fpm.d/www.conf
。
將 user 與 group 都數值都改成 nginx
1 | ; RPM: apache Choosed to be able to access some dir as httpd |
最後,為了瞭解是否修改成功,請寫個 phpinfo();
看有沒有用。
1 | sudo vim /usr/share/nginx/html/info.php |
內容如下
1 | <?php |
並重新啟動Nginx,並且去訪問看看 http://localhost/info.php
。
1 | sudo service nginx restart |
Step 2 - 自動啟動設置
最後,所用東西幾乎都完成了。可以直接讓這些服務自動在開機時啟用。
1 | sudo chkconfig --levels 235 mysqld on |