搭建php-fpm工作方式的LAMP環(huán)境,實(shí)現(xiàn)wordpress正常訪問

1、LAMP定義

  • LAMP指的Linux(操作系統(tǒng))、ApacheHTTP 服務(wù)器,MySQL(有時(shí)也指MariaDB,數(shù)據(jù)庫(kù)軟件) 和PHP(有時(shí)也是指Perl或Python) 的第一個(gè)字母,一般用來建立web應(yīng)用平臺(tái)。
  • 雖然這些開放源代碼程序本身并不是專門設(shè)計(jì)成同另幾個(gè)程序一起工作的,但由于它們的免費(fèi)和開源,這個(gè)組合開始流行(大多數(shù)Linux發(fā)行版本捆綁了這些軟件)。

2、搭建Lamp

  • 首先關(guān)閉selinux和防火墻
 [root@bogon ~]# systemctl stop firewalld
[root@bogon ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@bogon ~]# vim /etc/selinux/config 
 SELINUX=disabled
 [root@bogon ~]# systemctl reboot  #重啟生效

(1)安裝mariadb服務(wù)

  • 安裝
 [root@bogon ~]# yum install  mariadb-server -y
  • 編輯/etc/my.cnf.d/server.cnf配置文件
 [root@bogon ~]# vim /etc/my.cnf.d/server.cnf
 
 [mysqld]
skip_name_resolve=ON               #添加
innodb_file_per_table=ON          #添加
  • 開啟mariadb服務(wù)
 
 [root@bogon ~]# systemctl start mariadb
 [root@bogon ~]# systemctl enable mariadb
 [root@bogon ~]# ss -tnl
  • 設(shè)置數(shù)據(jù)庫(kù)安全設(shè)定
   [root@bogon ~]mysql_secure_installation
      Enter current password for root (enter for none):      #輸入root密碼第一次沒有直接回車
      Set root password? [Y/n] y                                  #設(shè)定root密碼輸入y
      New password:                                                #新密碼
      Re-enter new password:                                        #再輸入一次
      Remove anonymous users? [Y/n] y                           #是否移除匿名用戶
    Disallow root login remotely? [Y/n] y                         #是否遠(yuǎn)程禁止root登錄
    Remove test database and access to it? [Y/n] y              #是否刪除測(cè)試數(shù)據(jù)庫(kù)
    Reload privilege tables now? [Y/n] y                        #是否重新加載特權(quán)表
  • 授權(quán)一個(gè)普通用戶并測(cè)試登錄
[root@bogon ~]# mysql -u root -p123                    #登錄數(shù)據(jù)庫(kù)
  MariaDB [(none)]> GRANT ALL ON *.* TO 'test'@'192.168.%.%' IDENTIFIED BY "123";    #創(chuàng)建授權(quán)用戶
  Query OK, 0 rows affected (0.00 sec)                                             
  MariaDB [(none)]> FLUSH PRIVILEGES;               #刷新
  Query OK, 0 rows affected (0.01 sec)
  MariaDB [(none)]> EXIT                                   #退出
  Bye
[root@bogon ~]# mysql -utest -h'192.168.1.11' -p123   測(cè)試登錄

(2)安裝php服務(wù)

  • 安裝
 [root@bogon ~]# yum -y install php               #安裝php
 [root@bogon ~]# yum -y install php-fpm php-mysql php-mbstring php-mcrypt  #安裝PHP相關(guān)模塊

服務(wù)配置文件:/etc/php-fpm.conf,/etc/php-fpm.d/.conf
php環(huán)境配置文件:/etc/php.ini,/etc/php.d/
.ini

  • 配置編輯 /etc/php-fpm.d/www.conf文件
[root@bogon ~]# cp /etc/php-fpm.d/www.conf{,.bak}      #備份原配置文件
[root@bogon ~]# vim  /etc/php-fpm.d/www.conf            #編輯

listen =127.0.0.1:9000  修改可以監(jiān)聽的主機(jī)可以本地  *:9000   也可以其他主機(jī)
listen.backlog = -1后援隊(duì)列   -1代表無限長(zhǎng)
listen.allowed_clients = 127.0.0.1   允許那些客戶端請(qǐng)求,授權(quán)連接
 user = apache
 group = apache
 pm=dynamic      static或者dynamic 默認(rèn)dynamic
 pm.max_children=50  子進(jìn)程數(shù)量
 pm.start_server=5    開始啟動(dòng)進(jìn)程數(shù)量
 pm.max_spare_servers=15   最大空閑數(shù)量
 pm.max_requests=500   每個(gè)進(jìn)程響應(yīng)多少個(gè)請(qǐng)求然后關(guān)掉
 pm.starus_path=/pm-status  內(nèi)置的狀態(tài)頁
 ping.path=pong 可以ping服務(wù)器遠(yuǎn)程狀態(tài)探測(cè)
 php_value[session.save_hadler]=files  客戶會(huì)話保留
 php_value[session.save_save_path]=/var/lib/php/session   目錄不存在要手動(dòng)創(chuàng)建然后修改
  • 建立/var/lib/php/session文件
[root@bogon ~]# mkdir /var/lib/php/session -pv     #建立文件
[root@bogon ~]# chown apache.apache /var/lib/php/session   #修改屬組屬主
[root@bogon ~]# ll  /var/lib/php/                          #查看
total 0
drwxrwx--- 2 apache apache 6 Apr 12 15:04 session
  • 啟動(dòng)php并查看監(jiān)聽端口
[root@bogon ~]# systemctl start php-fpm
[root@bogon ~]# ss -tnl
State      Recv-Q Send-Q                       Local Address:Port                                      Peer Address:Port              
LISTEN     0      128                          172.16.15.106:9000                                                 *:*                  
LISTEN     0      50                                       *:3306                                                 *:*                  

(3)、安裝httpd服務(wù)

  • 安裝httpd
[root@bogon ~]# yum install httpd -y        #安裝httpd
[root@bogon ~]# httpd -M                    #查詢是否有fcgi模塊
.......
 proxy_fcgi_module (shared)
.......
  • 建立存儲(chǔ)網(wǎng)頁資源目錄
[root@bogon ~]# mkdir /data/www/html -pv
mkdir: 已創(chuàng)建目錄 "/data"
mkdir: 已創(chuàng)建目錄 "/data/www"
mkdir: 已創(chuàng)建目錄 "/data/www/html"
  • 編輯創(chuàng)建/etc/httpd/conf.d/fcgi.conf配置文件
[root@httpd ~]# vim /etc/httpd/conf.d/fcgi.conf
DirectoryIndex index.php  #設(shè)置默認(rèn)主頁為index.php
ProxyRequests off  #關(guān)閉正向代理
將以.php結(jié)尾的URL代理轉(zhuǎn)發(fā)給fcgi://127.0.0.1:9000
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/www/html/$1  
ProxyPassMatch ^/(ping|pmstatus)$ fcgi://127.0.0.1:9000/$1
  • 虛擬主機(jī)的配置
DirectoryIndex index.php
<VirtualHost *:80>
        ServerName www.hehe.com
        DocumentRoot /data/www/html
        ProxyRequests Off #關(guān)閉反向代理
        ProxyPassMatch ^/(.*\.php)$  fcgi://127.0.0.1:9000/data/www/html/$1   #將以.php結(jié)尾的URL代理轉(zhuǎn)發(fā)給fcgi://url
        ProxyPassMatch ^/(ping|pmstatus)$ fcgi://127.0.0.1:9000/$1  #將以ping或pmstatus結(jié)尾的URL代理轉(zhuǎn)發(fā)給fcgi://url
        <Directory "/data/www/html">
                Options None
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>
~                                                                                                                                                         
  • 在php-fpm服務(wù)器上創(chuàng)建編輯index.php 和mysql.php進(jìn)行測(cè)試
[root@bogon ~]# vim /data/www/html/index.php 
                    <?php 
                            phpinfo();
                       ?>
[root@bogon ~]# vim /data/www/html/mysql.php           
<?php     #編輯mysql登錄測(cè)試頁
$conn = mysql_connect('192.168.1.11','test','123');
        if ($conn)
                echo "Connected to mysql.";
        else
                echo "Fail";
?>
[root@bogon ~]# httpd -t             #語法檢查
Syntax OK
[root@bogon ~]# systemctl start httpd   #啟動(dòng)httpd
  • 測(cè)試用瀏覽器打開http服務(wù)器ip


    image.png
  • 測(cè)試數(shù)據(jù)庫(kù)鏈接


    image.png
  • 測(cè)試ping頁面


    image.png

3、部署wordpress

(1)下載安裝wordpress

[root@bogon ~]# wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
[root@bogon ~]# ls
 wordpress-4.9.4-zh_CN.tar.gz
[root@bogon ~]# tar xf wordpress-4.9.4-zh_CN.tar.gz 
[root@bogon ~]# cp -a wordpress /data/www/html
[root@bogon ~]# chown -R apache:apache /data/www/html/wordpress/
image.png
  • 給WordPress創(chuàng)建數(shù)據(jù)庫(kù)及創(chuàng)建授權(quán)用戶
  [root@bogon ~]# mysql -uroot -p123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 13
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE wordpress;                   #創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL ON wordpress.* TO 'wpuser'@'192.168.%.%'IDENTIFIED BY '12345678';               #授權(quán)用戶
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> EXIT
Bye
  • 接著繼續(xù)在網(wǎng)頁設(shè)置wordpress


    image.png
  • 設(shè)置相關(guān)信息后點(diǎn)擊安裝


    image.png
image.png
image.png
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容