1. 程式人生 > >CentOS7 安裝LNMP(Linux+Nginx+MySQL+PHP)

CentOS7 安裝LNMP(Linux+Nginx+MySQL+PHP)

    由於工作需要,需要學習php,本來想安裝lamp的但是考慮到現在nginx伺服器有良好的效能且應用廣泛。這裡我決定搭建Linux(CentOS7+Nginx+MySQL+PHP)下的web伺服器。
一、安裝httpd。
yum install -y httpd
安裝完成之後使用以下命令啟動httpd服務:
systemctl start httpd.service #啟動apache
systemctl stop httpd.service #停止apache
systemctl restart httpd.service #重啟apache
systemctl enable httpd.service #設定apache開機啟動
    可以在瀏覽器中輸入伺服器所在的主機的IP即可看到apache的歡迎介面。要在另外一臺主機上實現這種訪問,需要關閉系統的防火牆。
    在CentOS7中,修改防火牆的機制已經做了修改,在CentOS 6.x系統中可以使用以下命令:
service iptables stop
chkconfig iptables off // 開機禁止啟動

    而在CentOS7中只能使用以下命令,如果使用上面的命令並不會報任何錯誤,但是起不到關閉防火牆的效果:
systemctl stop firewalld.service
systemctl disable firewalld.service //禁止防火牆開機啟動
關閉SeLinux
    使用getenforce命令可以檢視SeLinux的狀態,SeLinux有三種狀態,分別為enforcing、permissive和disabled。因為我們的伺服器只在內部使用,所以這裡我們選擇完全關閉(disabled)。具體的做法為修改/etc/sysconfig/selinux檔案,具體操作可以看裡面的說明。
    成功安裝httpd(apache)的效果圖為:
這裡寫圖片描述
二、安裝MySQL資料庫。
MySQL資料庫,新版本已經更名為Mariadb,所以這裡需要安裝Mariadb,可以使用下面的命令進行安裝:
yum install -y mariadb

安裝完成以後使用下面的命令開啟資料庫服務:
systemctl start mariadb.service #啟動MariaDB
systemctl stop mariadb.service #停止MariaDB
systemctl restart mariadb.service #重啟MariaDB
systemctl enable mariadb.service #設定開機啟動
三、安裝PHP。
使用下面的命令可以安裝PHP:
yum -y install php
使用下面的命令安裝php對Mariadb的支援:
yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
使用下面的命令重啟Mariadb和httpd服務:
systemctl restart mariadb.service #重啟MariaDB
systemctl restart httpd.service #重啟apache
四、安裝nginx。
  這裡使用的是nginx做反向代理,將其客戶端通過80埠請求的.php內容代理到apache伺服器上。
使用以下命令安裝nginx:
yum install -y nginx
要想使用nginx做反向代理,需要修改Apache的httpd和nginx的配置檔案,使其監聽不同的埠,這裡我們使用nginx監聽80埠,使用Apache監聽8080埠,這裡我們分別配置Apache和nginx的配置檔案,修改結果如下:
(1)Apache配置檔案:/etc/httpd/conf/httpd.conf
這裡寫圖片描述
(2)nginx配置如下:
這裡寫圖片描述
    這樣,當用戶在瀏覽器中訪問該伺服器有關.php結尾的檔案都會代理到監聽8080埠的Apache伺服器。示例如下:
(1)不指定8080埠訪問:
這裡寫圖片描述
(2)指定訪問8080埠。
這裡寫圖片描述