簡介
LNMP是Linux、Nginx、MySQL和PHP的縮寫,這個組合是最常見的WEB服務器的運行環境之一。本文將帶領大家在CentOS 6操作系統上搭建一套LNMP環境。
本教程適用于CentOS 6.x版本。
在安裝LNMP環境之前,您需要先對CentOS操作系統做一些初始化的工作,可以參考CentOS系統初始化設置。
安裝Nginx
美團云的CentOS系統模板中配置了內網源,下載速度較快,推薦使用yum
安裝Nginx:
sudo yum install nginx
按照提示,輸入yes
后開始安裝。安裝完畢后,Nginx的配置文件在/etc/nginx
目錄下。使用以下命令啟動Nginx:
sudo service nginx start
您可以通過瀏覽器訪問?http://<外網IP地址>
?來確定Nginx是否已經啟動。
最后我們通過chkconfig
命令將Nginx設置為開機啟動:
sudo chkconfig nginx on
安裝MySQL
我們可以使用yum
直接安裝MySQL:
sudo yum install mysql-server
安裝完成之后,執行以下命令重啟MySQL服務:
sudo service mysqld restart
重啟過程中會提示如何設置MySQL的root密碼,我們按照提示進行操作:
sudo /usr/bin/mysql_secure_installation
這個腳本會經過一些列的交互問答來進行MySQL的安全設置。
首先提示輸入當前的root密碼:
Enter current password for root (enter for none):
初始root密碼為空,我們直接敲回車進行下一步。
Set root password? [Y/n]
設置root密碼,默認選項為Yes
,我們直接回車,提示輸入密碼,在這里設置您的MySQL的root賬戶密碼。
Remove anonymous users? [Y/n]
是否移除匿名用戶,默認選項為Yes
,建議按默認設置,回車繼續。
Disallow root login remotely? [Y/n]
是否禁止root用戶遠程登錄?如果您只在本機內訪問MySQL,建議按默認設置,回車繼續。 如果您還有其他云主機需要使用root賬號訪問該數據庫,則需要選擇n
。
Remove test database and access to it? [Y/n]
是否刪除測試用的數據庫和權限? 建議按照默認設置,回車繼續。
Reload privilege tables now? [Y/n]
是否重新加載權限表?因為我們上面更新了root的密碼,這里需要重新加載,回車。
完成后你會看到Success!
的提示,MySQL的安全設置已經完成。我們可以使用以下命令登錄MySQL:
mysql -uroot -p
按提示輸入root密碼,就會進入MySQL的交互界面,說明已經安裝成功。
MySQL安裝完成后默認監聽外網的3306端口,有一定的安全隱患,我們通過編輯MySQL的配置文件,將MySQL服務修改為監聽內網的3306端口,這樣就不會被外界探測到,編輯/etc/my.cnf
文件,在[mysqld]
中增加一行:
bind-address=10.128.129.21
需要將上面的10.128.129.21
替換成您的云主機的內網地址。內網地址可以從MOS控制臺云主機列表中找到。然后重啟MySQL服務使配置生效:
sudo service mysqld restart
最后我們使用chkconfig
命令將MySQL設置為開機啟動。
sudo chkconfig mysqld on
安裝PHP
我們可以直接使用yum
安裝PHP:
sudo yum install php-fpm php-mysql
安裝完成后我們將php-fpm啟動:
sudo service php-fpm start
將php-fpm設置為開機啟動:
sudo chkconfig php-fpm on
php安裝完成之后,需要設置一下php session的目錄:
sudo mkdir /var/lib/php/session/
sudo chown -R apache:apache /var/lib/php/session/
這時php-fpm已經安裝完畢,但是現在需要配置一下Nginx,在/etc/nginx/conf.d
目錄中新建一個名為php.conf
的文件,其內容為:
server {listen 8000;# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location ~ \.php$ {root /usr/share/php;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
}
然后執行以下命令使我們的配置生效:
sudo service nginx reload
以上我們配置了Nginx的8000端口用來測試,如果您在美團云控制臺創建機器時選擇了綁定防火墻,需要檢查該防火墻是否允許8000端口,如果不允許的話,您可以在防火墻設置中新增防火墻,并關聯到該主機。
我們在/usr/share/php
目錄下新建一個名為phpinfo.php
的文件用來展示phpinfo信息,文件內容為:
<?php echo phpinfo(); ?>
我們從瀏覽器打開?http://<外網IP地址>:8000/phpinfo.php
,您就能看到phpinfo信息了,說明我們php環境已經部署成功:
驗證PHP安裝成功后,需要將此phpinfo.php
文件刪除,線上環境盡量不要暴漏使用的軟件版本及路徑信息,以防被入侵者利用。
轉自:https://blog.csdn.net/u010098331/article/details/51972282
同樣推薦另一文:????CentOS 上搭建 LNMP