說明:在一台linux主機上模拟搭建LAMP
簡介:
LAMP由四個部分組成:Linux,Apache,MySQL,PHP。搭建這一套架構是為了實作動态網頁環境的部署。本文将在一台centos7.3的linux主機上模拟部署LAMP環境。apche環境采用httpd應用部署,MySQL采用Mariadb應用部署,php主要采用php-fpm應用部署,輔助應用為 php-mbstring php-mcrypt php-xcache。 PHP與MySQL的接口采用php-mysql應用連接配接。本文模拟的後端php伺服器是通過php-fpm應用實作。它是FASTCGI程序管理工具,特别适用于高并發的網站。
組成:
A:apache(Httpd)
M:MySQL(Mariadb)
P:PHP(php-fpm)
拓撲圖
<a href="https://s3.51cto.com/wyfs02/M01/97/D0/wKiom1kza2aR12llAAA5oij_dII984.png" target="_blank"></a>
1.環境準備:
作業系統:window10
浏覽器:chrome
虛拟機:VMware workstation11
MySQL圖形界面管理工具:phpMyAdmin
實驗作業系統:centos7.3
軟體包準備:mariadb-server php-fpm php-mysql httpd
2.系統初始化:
<code> </code><code>關閉防火牆</code>
<code> </code><code>iptables -F </code>
<code> </code><code>關閉防火牆開始啟動 </code>
<code> </code><code>systemctl disable firewalld.service</code>
<code> </code><code>關閉SElinux</code>
<code> </code><code>setenforce 0</code>
3.mariadb-server 安裝與環境配置
<code> </code><code>安裝mariadb-server</code>
<code> </code><code>yun </code><code>install</code> <code>mariadb-server</code>
<code> </code><code>修改mariadb服務端配置</code>
<code> </code><code>vi</code> <code>/etc/my</code><code>.cnf.d</code><code>/server</code><code>.cnf</code>
<code> </code><code>在如下行修改配置</code>
<code> </code><code># this is only for the mysqld standalone daemon</code>
<code> </code><code>[mysqld]</code>
<code> </code><code>skip_name_resolve=on </code><code>#跳過域名解析</code>
<code> </code><code>innodb_file_per_table=ON </code>
<code> </code><code>檢視mariadb的3306端口是否開啟</code>
<code> </code><code>ss -tln</code>
<code> </code><code>重新開機資料庫</code>
<code> </code><code>systemctl start mariadb.service</code>
<code> </code><code>mysql測試</code>
<code> </code><code>mysql</code>
<code> </code><code>注意:我設定了mysql的密碼,若沒有密碼,使用上述指令即可</code>
<code> </code><code>安全加強</code>
<code> </code><code>mysql_secure_installation mysql</code>
<code> </code><code>#根據自己需求做出相應更改</code>
<code> </code><code>建立一個測試使用者</code>
<code> </code><code>grant all on testdb.* to </code><code>'hu'</code><code>@</code><code>'192.168.%.%'</code> <code>identified by </code><code>'123456'</code><code>;</code>
<code> </code><code>另一個終端登陸mysql</code>
<code> </code><code>ssh</code> <code>192.168.0.3 mysql -uhu -h192.168.0.3 -p123456</code>
4.php安裝與環境配置
<code> </code><code>安裝php相關應用</code>
<code> </code><code>yum </code><code>install</code> <code>php-fpm php-mysql php-mbstring php-mcrypt php-xcache -y</code>
<code> </code><code>進入php-fpm環境配置目錄</code>
<code> </code><code>cd</code> <code>/etc/php-fpm</code><code>.d/</code>
<code> </code><code>将原檔案備份</code>
<code> </code><code>cp</code> <code>www.conf{,.bak}</code>
<code> </code><code>修改配置檔案</code>
<code> </code><code>vi</code> <code>/etc/php-fpm</code><code>.d</code><code>/www</code><code>.conf </code>
<code> </code><code>說明:此配置檔案中注釋用;(分号)标注,如要開啟某些功能,取消;即可。</code>
<code> </code><code>以下是我列出一些可選項,大家可根據需要自行修改</code>
<code> </code><code>[如果要跨主機通信,修改監聽位址] listen = 127.0.0.1:9000</code>
<code> </code><code>[fastcgi用戶端位址] listen.allowed_clients = 127.0.0.1 </code>
<code> </code><code>[fpm内置狀态頁面路徑] pm.status_path = </code><code>/status</code>
<code> </code><code>[測試伺服器</code><code>ping</code><code>] </code><code>ping</code><code>.path = </code><code>/ping</code>
<code> </code><code>[</code><code>ping</code><code>回應] </code><code>ping</code><code>.response = pong</code>
<code> </code><code>[會話儲存的路徑] php_value[session.save_path] =</code><code>/var/lib/php/session</code>
<code> </code>
<code> </code><code>在這裡,為了測試需要我開啟如下功能</code>
<code> </code><code>pm.status_path = </code><code>/pmstatus</code>
<code> </code><code>php_value[session.save_path] = </code><code>/var/lib/php/session</code>
<code> </code><code>建立儲存會話的目錄</code>
<code> </code><code>mkdir</code> <code>/var/lib/php/session</code> <code>-pv</code>
<code> </code><code>修改目錄屬主</code>
<code> </code><code>chown</code> <code>apache:apache </code><code>/var/lib/php/session</code>
<code> </code><code>重新開機php-fpm,配置生效</code>
<code> </code><code>systemctl start php-fpm.service</code>
<code> </code><code>檢視php端口與程序</code>
<code> </code><code>ss -tln</code>
<code> </code><code>ps</code> <code>aux | </code><code>grep</code> <code>pool</code>
<a href="https://s1.51cto.com/wyfs02/M00/97/C3/wKiom1kyir_iiwBgAAAUyhrNmiE423.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/97/C3/wKiom1kyitSxTGQSAAAqRVZ42xc598.png" target="_blank"></a>
5.httpd安裝與環境配置
<code> </code><code>安裝 httpd</code>
<code> </code><code>yum </code><code>install</code> <code>httpd</code>
<code> </code><code>檢視proxy_fcgi_module是否存在</code>
<code> </code><code>httpd -M</code>
<code> </code><code>進入httpd配置目錄</code>
<code> </code><code>cd</code> <code>/etc/httpd/conf</code><code>.d/</code>
<code> </code><code>虛拟主機配置</code>
<code> </code><code>vi</code> <code>huwho.conf </code>
<code> </code><code>DirectoryIndex index.php</code>
<code> </code><code><VirtualHost *:80></code>
<code> </code><code>DocumentRoot </code><code>"/web/www/html"</code>
<code> </code><code>ServerName </code><code>"www.huwho.cn"</code>
<code> </code><code>ProxyRequests Off</code>
<code> </code><code>ProxyPassMatch ^/(.*\.php)$ fcgi:</code><code>//127</code><code>.0.0.1:9000</code><code>/web/www/html/</code><code>$1</code>
<code> </code><code>ProxyPassMatch ^/(pmstatus.*)$ fcgi:</code><code>//127</code><code>.0.0.1:9000/$1</code>
<code> </code><code><Directory </code><code>"/web/www/html"</code><code>></code>
<code> </code><code>Options FollowSymLinks</code>
<code> </code><code>AllowOverride None</code>
<code> </code><code>Require all granted</code>
<code> </code><code><</code><code>/Directory</code><code>></code>
<code> </code><code><</code><code>/VirtualHost</code><code>></code>
<code> </code><code>#配置指令說明參考官方文檔:http://httpd.apache.org/docs/2.4/</code>
<code> </code><code>建立web頁面路徑</code>
<code> </code><code>mkdir</code> <code>/web/www/html</code> <code>-pv</code>
<code> </code><code>檢查文法</code>
<code> </code><code>httpd -t</code>
<code> </code><code>進入web路徑目錄</code>
<code> </code><code>cd</code> <code>/web/www/html/</code>
<code> </code><code>編輯php測試頁面</code>
<code> </code><code>vi</code> <code>phpinfo.php</code>
<code> </code><code><?</code>
<code> </code><code>phpinfo();</code>
<code> </code><code>?></code>
<code> </code><code>修改windows10域名解析檔案(hosts)</code>
<code> </code><code>路徑:C:\Windows\System32\drivers\etc</code>
<code> </code><code>目的:使windows本機能夠解析設定的域名</code>
<a href="https://s2.51cto.com/wyfs02/M00/97/C3/wKiom1kyi-nzYs4FAADHm1a5-tk144.png" target="_blank"></a>
<code> </code><code>重新開機httpd服務</code>
<code> </code><code>systemctl restart httpd.service </code>
<code> </code><code>通路頁面</code>
<a href="https://s5.51cto.com/wyfs02/M01/97/C3/wKiom1kyjJGyv2PuAACgsG8ktgQ746.png" target="_blank"></a>
檢視頁面狀态資訊
<a href="https://s4.51cto.com/wyfs02/M01/97/C3/wKiom1kyjZWx1ZemAACDw5QvdQE537.png" target="_blank"></a>
6.MySQL圖形界面管理工具安裝
<code> </code><code>下載下傳phpMyAdmin-4.0.10.20-all-languages.</code><code>tar</code><code>.gz</code>
<code> </code><code>下載下傳位址https:</code><code>//www</code><code>.phpmyadmin.net/</code>
<code> </code><code>解壓(推薦目錄</code><code>/web/www/html</code><code>)</code>
<code> </code><code>tar</code> <code>-xf phpMyAdmin-4.0.10.20-all-languages.</code><code>tar</code><code>.gz</code>
<code> </code><code>建立軟連接配接(因為名字太長)</code>
<code> </code><code>ln</code> <code>-sv phpMyAdmin-4.0.10.20-all-languages.</code><code>tar</code><code>.gz pma</code>
<code> </code><code>進入目錄</code>
<code> </code><code>cd</code> <code>pma</code>
<code> </code><code>更改名字</code>
<code> </code><code>cp</code> <code>config.sample.inc.php config.inc.php</code>
<code> </code><code>編輯配置檔案</code>
<code> </code><code>vi</code> <code>config.inc.php</code>
<code> </code><code>在下面句中的修改加密字段</code>
<code> </code><code>$cfg[</code><code>'blowfish_secret'</code><code>] = </code><code>'fsff34242regtegdsf3a8b7c6d'</code>
<a href="https://s5.51cto.com/wyfs02/M00/97/C3/wKiom1kyjPyTzqhBAACx7uavjdw631.png" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M00/97/C5/wKioL1kyjSCAbvQDAAFmzG9PWyE466.png" target="_blank"></a>
7 壓力測試
<code> </code><code>vi</code> <code>/etc/hosts</code>
<code> </code><code>#添加域名解析資訊</code>
<code> </code><code>10.0.0.110 www.huwho.cn </code>
<code> </code><code>壓力測試</code>
<code> </code><code>ab -n 1000 -c 20 http:</code><code>//www</code><code>.huwho.cn/</code>
<a href="https://s4.51cto.com/wyfs02/M01/97/C5/wKioL1kyjn2CtZYpAABF-YyoBmk464.png" target="_blank"></a>
本文轉自 PowerMichael 51CTO部落格,原文連結:http://blog.51cto.com/huwho/1931968,如需轉載請自行聯系原作者