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




