LAMP服务搭建详解
一、LAMP簡介
LAMP:Linux Apache MySQL PHP 的簡寫,即把Apache、MySQL以及PHP安裝在Linux系統上,組成一個環境來運行PHP的腳本語言,通常是網站。
Apache是最常用的web服務軟件,而MySQL是比較小型的數據庫軟件,這兩個軟件以及PHP都可以安裝在一臺機器上,也可以分開安裝,當Apache和PHP可以安裝在同一臺機器上,PHP是作為Apache的一個模塊存在的,apxs是httpd的一個工具,因為有它才會自動把PHP模塊安裝到httpd的modules目錄下,也就是說PHP將會以一個模塊的形式和httpd結合在一起工作。也可以安裝在不同臺機器上,此時PHP是作為服務器的一個反向代理存在的。
? ? ? ?a: apache (httpd):接收用戶的web請求;靜態資源則直接響應;動態資源為php腳本,對此類資源的請求將交由php來運行;
???????m: mysql, mariadb:數據管理系統
? ? ? ?p: php, perl, python:運行php程序
http與php結合的方式:
? ? ? ?FastCGI (獨立作為服務器)
? ? ? ?modules (把php編譯成為httpd的模塊)
二、實踐作業:部署lamp,以虛擬主機安裝wordpress, phpwind, discuz; (centos7為例)
準備工作:
<1.軟件安裝全部使用yum
Modules:程序包,httpd, php, php-mysql, mariadb-server
FastCGI:程序包,httpd, php-fpm, php-mysql, mariadb-server
<2.關閉所有主機的iptables和selinux,防止影響實驗順利進行,執行如下命令:
[root@centos7?~]#?systemctl?stop?firewalld [root@centos7?~]#?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@centos7?~]#?setenforce?0 [root@centos7?~]#?vim?/etc/selinux/config? SELINUX=disabled1、基于lamp搭建wordpress blog
httpd-server主機:
<1. 配置httpd配置文件
【注意】CentOS7下,無需修改httpd的主配置文件,因為CentOS7中,當虛擬主機存在時會默認禁用httpd主機的配置文件(CentOS6下需要禁用掉httpd主機,才可以啟用虛擬主機功能,方式是注釋掉httpd主配置文件的DocumentRoot一行),所以可以直接進入/etc/httpd/conf.d/目錄下新建并編輯虛擬主機配置文件即可
[root@centos7?~]#?yum?-y?install?httpd?php?mariadb-server?php-mysql [root@centos7~]#?systemctl?stop?firewalld;?setenforce?0新建并編輯虛擬主機配置文件
[root@centos7?~]#?vim?/etc/httpd/conf.d/vhost.conf? </VirtualHost> <VirtualHost?*:80> ServerName??blog.magedu.com DocumentRoot?"/app/blog/htdocs" CustomLog?"logs/blog.magedu.com_access_log"?combined ErrorLog?"logs/blog.magedu.com_error_log"? <Directory?"/app/blog/htdocs"> Require?all?granted </Directory> </VirtualHost>重啟服務
[root@centos7~]#?systemctl?restart?httpd編輯mysql主配置文件
[root@centos7?~]#?vim?/etc/my.cnf [mysqld] skip_name_resolve???????????????????????//跳過域名解析重啟數據庫服務
[root@centos7?~]#?systemctl?restart?mariadb創建共享資源目錄
[root@centos7?blog]#?mkdir?-pv?/app/blog安裝wordpress程序文件至此目錄并設定其配置文件
[root@centos7?blog]#?tar?xvf?wordpress-4.9.4-zh_CN.tar.gz?-C?/app/blog/ [root@centos7?blog]#?mv?wordpress?wordpress-4.9.4創建軟鏈接
[root@centos7(nanyibo)?blog]#?ln?-sv?wordpress-4.9.4?htdocs [root@centos7(nanyibo)?blog]#?ll total?4 lrwxrwxrwx.?1?root???root????????15?Oct?19?15:32?htdocs?->?wordpress-4.9.4 drwxr-xr-x.?5?nobody?nfsnobody?4096?Feb??8??2018?wordpress-4.9.4設置共享目錄的權限
[root@centos7?~]#?cd?/app/blog/ [root@centos7?blog]#?setfacl?-m?u:apache:rwx?htdocs/注意:因為在httpd虛擬主機配置文件中,是根據客戶端請求的資源的文件名后綴是否為" .php " 而決定是否使用php-fpm代理的,與后綴為" .php "的文件的內容無關,所以無需修改wordpress文件中的配置文件,index.php文件中也無需有內容,只需在php-fpm代理服務器端處在對應的文件中指定內容即可。
?進入mysql客戶端,建立用戶、數據庫、以及表和字段
[root@centos7?~]#?mysql MariaDB?[(none)]>?create?database?wpdb; Query?OK,?1?row?affected?(0.00?sec) MariaDB?[(none)]>?grant?all?on?wpdb.*?to?'wpuser'@'192.168.153.%'?identified?by?'wppass'; Query?OK,?0?rows?affected?(0.02?sec)在瀏覽器輸入域名blog.magedu.com開始安裝
注意:mysql配置文件中不要加額外的東西。我在做mysql主從實驗的時候加了read_only,結果在安裝的時候報錯,是因為數據庫不能只讀,需要注釋掉那一行
2、基于php-fpm模式的lamp搭建phpmyadmin及discuz
[root@centos7?~]#?yum?-y?install?httpd?php-fpm?php-mysql?mariadb-server設置代理配置文件
[root@centos7~]#?vim?/etc/php-fpm.d/www.conf listen?=?0.0.0.0:9000??????????????????????????????????????此處填寫本主機的IP地址(不能寫127.0.0.1),端口為必填項 listen.allowed_clients?=?172.18.254.202?==>?????????????????????此處填寫被代理的httpd服務的主機的IP地址 [root@centos7?~]#?mkdir?/var/lib/php/session修改權限
[root@centos7?~]#?chown?apache.apache?/var/lib/php/session重啟服務
[root@centos7?~]#?systemctl?restart?php-fpm [root@centos7?~]#?ss?-ntl?|grep?9000 LISTEN?????0??????128??????????*:9000?????????????????????*:*編輯修改配置文件
[root@centos7?~]#?vim?/etc/httpd/conf.d/pma.conf DirectoryIndex?index.php???????????????? <VirtualHost?*:80>?????????????????????? ServerName?pma.magedu.com DocumentRoot?/vhosts/pam/htdocs ProxyRequests?Off????????????????????????????????//關閉正向代理 ProxyPassMatch?^/(.*\.php)$??fcgi://172.18.254.202:9000/vhosts/pam/htdocs/$1??????????/?/模式匹配其內容 <Directory?"/vhosts/pam/htdocs"> Options?None???????????????????????????????????????????? AllowOverride?None?????????????????????????????????????? Require?all?granted????????????????????????????????????? </Directory>???????????????????????????????????? </VirtualHost>??????? [root@centos7?~]#?cd?/vhosts/pam/安裝phpMyAdmin程序文件至此目錄并設定其配置文件
[root@centos7?pam]#?unzip?phpMyAdmin-4.0.10.20-all-languages.zip [root@centos7?pam]#?ln?-sv?phpMyAdmin-4.0.10.20-all-languages?htdocs ‘htdocs’?->?‘phpMyAdmin-4.0.10.20-all-languages’ [root@centos7?pam]#?ll total?4 lrwxrwxrwx.?1?root?root???34?Oct?19?17:27?htdocs?->?phpMyAdmin-4.0.10.20-all-languages drwxr-xr-x.?9?root?root?4096?Mar?28??2017?phpMyAdmin-4.0.10.20-all-languages [root@centos7?htdocs]#?cp?config.sample.inc.php?config.inc.php? [root@centos7?htdocs]#?vim?config.inc.php $cfg['Servers'][$i]['host']?=?'172.18.254.202'; [root@centos7?htdocs]#?yum?-y?install?php-mbstring [root@centos7?htdocs]#?systemctl?restart?php-fpm [root@centos7?htdocs]#?mysql MariaDB?[(none)]>?grant?all?on?*.*?to?'root'@'172.18.254.202'?identified?by?'magedu'?with?grant?option;???????????????? Query?OK,?0?rows?affected?(0.00?sec)注意:with grant option:授權用戶可以再次授權
通過瀏覽器輸入pma.magedu.com可訪問到phpmyadmin并用以上創建的帳戶來登錄。
安裝discuz
[root@centos7?~]#?cd?/etc/httpd/conf.d [root@centos7?conf.d]#?cp?pma.conf?bbs.conf [root@centos7?conf.d]#?vim?bbs.conf? DirectoryIndex?index.php <VirtualHost?*:80> ServerName?bbs.magedu.com DocumentRoot?/vhosts/bbs/htdocs ProxyRequests?Off???????????????????????????//關閉正向代理 ProxyPassMatch?^/(.*\.php)$??fcgi://172.18.254.202:9000/vhosts/bbs/htdocs/$1???????//模式匹配其內容 <Directory?"/vhosts/bbs/htdocs"> Options?None AllowOverride?None Require?all?granted </Directory> </VirtualHost>在windows的hosts中修改
172.18.254.202 bbs.magedu.com
[root@centos7?conf.d]#?mkdir?/vhosts/bbs?-pv mkdir:?created?directory?‘/vhosts/bbs’ [root@centos7?~]#?mkdir?/vhosts/bbs/discuz-x3.3 [root@centos7?~]#?mv?Discuz_X3.3_SC_UTF8.zip?/vhosts/bbs/discuz-x3.3 [root@centos7~]#?cd?/vhosts/bbs/discuz-x3.3 [root@centos7?discuz-x3.3]#?unzip?Discuz_X3.3_SC_UTF8.zip? [root@centos7?~]#?cd?/vhosts/bbs/共享的論壇資源都在upload目錄,所以只需將它放在此目錄下即可
[root@centos7?bbs]#?ln?-s?discuz-x3.3/upload?htdocs [root@centos7?bbs]#?ll total?0 drwxr-xr-x.?5?root?root?80?Oct?19?17:41?discuz-x3.3 lrwxrwxrwx.?1?root?root?18?Oct?19?17:42?htdocs?->?discuz-x3.3/upload [root@centos7?bbs]#?setfacl?-R?-m?u:apache:rwx?htdocs/通過phpmyadmin為discuz創建數據庫及用戶并授權。然后在瀏覽器上輸入bbs.magedu.com進行安裝discuz
編輯windows的hosts
win+r ?打開運行:notepad C:\Windows\System32\drivers\etc\hosts
172.18.254.202 bbs.magedu.com
在瀏覽器輸入域名bbs.magedu.com開始安裝,登錄。
轉載于:https://blog.51cto.com/13869470/2307086
總結
以上是生活随笔為你收集整理的LAMP服务搭建详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lvs+keepalived 集群
- 下一篇: 021 设计模式之工厂方法模式,抽象工