編碼的世界 / 優質文選 / 歷史

LAMP環境搭建(分布式)


2022年4月20日
-   

LAMP是Linux Apache MySQL PHP的簡寫,即把Apache、MySQL以及PHP安裝在Linux系統上,組成一個環境來運行PHP的腳本語言,通常是網站。 本文介紹的是LAMP在三台Centos7上搭建分布式LAMP http:192.168.1.109 mysql:192.168.1.111 php:192.168.1.105
提示:以下是本篇文章正文內容,下面案例可供參考
一、安裝Apache
主流網站服務器軟件: Apache:時間較早,模塊化設計,幾乎可以運行在所有操作系統上,性能穩定;配置相對複雜,自身無法解析動態網頁。 nginx:高性能、高並發的網站和反向代理服務器,也可做郵件代理,阿裏再開發tengine應用於天貓和淘寶。 tomcat:java應用服務器,也是servlet容器,可以認為是Apache的擴展,可以獨立運行,也可以和Apache合作。 Apache與nginx的區別: nginx:配置簡潔、反向代理、負載均衡、靜態數據處理能力是Apache3倍以上,消耗內存少。 Apache:跨所有平台、支持通用網關接口(cgi)、支持多種動態網站語言(php,python,perl,java),模塊組件比nginx多, 運行穩定;配置複雜
Apache2.4版本 新特性: MPM 支持在運行時裝載;不過要開啟這種特性 Apache安裝步驟: 1、檢查是否已安裝rpm包httpd
[root@httpd ~]# rpm -q httpd
未安裝軟件包 httpd
[root@httpd ~]# rpm -e httpd nodeps
錯誤:未安裝軟件包 httpd

2、安裝前提軟件 需要前提軟件 apr-1.5.2.tar.gzapr-util-1.5.4.tar.gz apr-util-1.5.4.tar.gz zlib-1.2.8.tar.gz pcre-8.39.tar.gz openssl-1.0.1u.tar.gz 軟件我會放在資源裏可自行下載 如果編譯安裝無法執行,可能是開發軟件工具沒有安裝,需要先安裝開發軟件:命令如下
[root@httpd ~]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

將下載的前提軟件放在/usr/src目錄下 寫編譯安裝腳本
[root@httpd ~]# mkdir /sh
[root@httpd ~]# cd /sh
[root@httpd sh]# vim qianti.sh

添加:
#!/bin/bash
cd /usr/src
tar zxf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure prefix=/usr/local/apr && make && make install
cd ..
tar zxf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure prefix=/usr/local/apr-util with-apr=/usr/local/apr && make && make install
cd ..
tar zxf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure prefix=/usr/local/zlib && make && make install
cd ..
tar zxf pcre-8.39.tar.gz
cd pcre-8.39
./configure prefix=/usr/local/pcre && make && make install
cd ..
tar zxf openssl-1.0.1u.tar.gz
cd openssl-1.0.1u
./config -fPIC prefix=/usr/local/openssl enable-shared && make && make install

保存退出 執行腳本:
[root@httpd sh]# sh qianti.sh

3、安裝Apache主程序 這裏我的httpd包是httpd-2.4.25.tar.gz 如需使用最新版本可到官網http://httpd.apache.org/下載最新版本 這個版本的包放在資源裏了 把httpd包放在/usr/src/目錄下 編寫安裝腳本
[root@httpd ~]# cd /sh
[root@httpd sh]# vim httpd.sh

添加:
#!/bin/bash
cd /usr/src
tar zxf httpd-2.4.25.tar.gz
cd httpd-2.4.25
./configure prefix=/usr/local/httpd enable-so enable-cgi enable-cgid enable-ssl with-ssl=/usr/local/openssl enable-rewrite with-pcre=/usr/local/pcre with-z=/usr/local/zlib with-apr=/usr/local/apr with-apr-util=/usr/local/apr-util enable-modules=most enable-mods-shared=most enable-mpms-shared=all with-mpm=event enable-proxy enable-proxy-fcgi enable-expires enable-deflate && make && make install

保存退出 執行腳本
[root@httpd sh]# sh httpd.sh

4、優化鏈接
[root@httpd ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin

添加系統服務
[root@httpd ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@httpd ~]# vim /etc/init.d/httpd

定位到第二行:修改為
# chkconfig: 35 85 15 		\聲明服務啟動級別,開機啟動順序,關機關閉順序
# description: apache 2.4.25 \服務聲明,簡要信息

保存退出
chkconfig add httpd			\添加httpd到系統服務
chkconfig httpd on \設置服務開機自啟(等同於:systemctl enable httpd)
systemctl start httpd \開啟服務(等同於:service httpd start)

二、編譯安裝MySQL
在mysql服務器上 MySQL官網:https://www.mysql.com/
MySQL是一個關系型數據庫,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品,關系數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。
MariaDB官網:https://mariadb.com
MariaDB是MySQL的一個分支,由MySQL原作者開發,MariaDB 5.5版本對應MySQL 5.5版本,而MariaDB 10.0版本對應MySQL 5.6版本,有以下版本:
Community 社區版 Enterprise 企業版 GA(Generally Available)通用版 DMR(Development Milestone Release)開發裏程碑發布版 RC(Release Candidate)發行候選版 Alpha 內部測試版 Beta 開放測試版 MySQL的最新版本是 5.7GA和8.0DMR ,MariaDB的最新版本是10.3.7 。
下載軟件包 我們可以到官網去下載對應版本的MySQL/MariaDB的包,在這裏,我使用的是免編譯的二進制包。在CentOS7之前的版本都有區分32位和64位,CentOS7可以直接選擇64位的包下載,帶有x86_64字樣的就是64位的包,帶有i686字樣的就是32位的包。 也可以在我的資源裏下載mysql的rpm包本地yum以下就可以直接使用mysql5.6版本 查看linux是多少位的:
# uname -i
x86_64

下載MySQL5.6的二進制包:
# cd /usr/local/src/
# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
正在解析主機 mirrors.sohu.com (mirrors.sohu.com) 221.236.12.140
正在連接 mirrors.sohu.com (mirrors.sohu.com)|221.236.12.140|:80 已連接。
已發出 HTTP 請求,正在等待回應 200 OK
長度:316320366 (302M) [application/octet-stream]
正在保存至: “mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz”
100%[=========================================================================>] 316,320,366 475KB/s 用時 14m 48s
2018-06-26 14:47:30 (348 KB/s) - 已保存 “mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz” [316320366/316320366])

初始化 解壓下載的包:
# tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

移動解壓完的目錄並更改名字為mysql(容易出現的錯誤,local下已經存在mysql文件,如果這樣移動,會變成移動到mysql下,這樣就會報錯,mv前提前進入local看下是否已存在mysql文件夾)。
# [ -d /usr/local/mysql ] && mv /usrlocal/mysql /usr/local/mysql_old
# mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql

上面用到特殊符號&&,它表示當前面的命令執行成功時,才會執行後面的命令。如果/usr/local/mysql目錄已經存在,就要把它改個名字,否則後面步驟會出錯。
建立MySQL用戶,啟動mysql需要該用戶:
# useradd -s /sbin/nologin mysql
# cd /usr/local/mysql

創建datadir,數據庫文件會放到這裏:
# mkdir -p data/mysql

更改權限,否則後面會報錯:
# chown -R mysql:mysql data/mysql

進行初始化,指定用戶為mysql,指定數據存放路徑/usr/local/mysql/data/mysql:
# ./scripts/mysql_install_db user=mysql datadir=/usr/local/mysql/data/mysql
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper

上面出錯了,有提示“Dumper”,我們可以查查
# yum list |grep perl | grep -i Dumper
perl-Data-Dumper.x86_64 2.145-3.el7 @base
perl-Data-Dumper-Concise.noarch 2.020-6.el7 epel
perl-Data-Dumper-Names.noarch 0.03-17.el7 epel
perl-XML-Dumper.noarch 0.81-17.el7 base

不知道的情況下,可以一個個去安裝上面的包,這裏我們知道是第一個,使用yum安裝
# yum install -y perl-Data-Dumper.x86_64

再次初始化:
# ./scripts/mysql_install_db user=mysql datadir=/data/mysql
FATAL ERROR: The parent directory for the data directory '/data/mysql' does not exist.
If that path was really intended, please create that directory path and then
restart this script.
If some other path was intended, please use the correct path when restarting this script.

提示沒有這樣的目錄或文件,我們需要在data/mysql前面加上絕對路徑
# ./scripts/mysql_install_db user=mysql datadir=/usr/local/mysql/data/mysql
Installing MySQL system tables./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

又報錯了,提示沒有libaio.so.1,沒有就安裝:
# yum install -y libaio*

安裝完之後再次執行初始化:
# ./scripts/mysql_install_db user=mysql datadir=/usr/local/mysql/data/mysql
Installing MySQL system tables2018-06-26 15:59:53 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use explicit_defaults_for_timestamp server option (see documentation for more details).
2018-06-26 15:59:53 0 [Note] Ignoring secure-file-priv value as server is running with bootstrap.
2018-06-26 15:59:53 0 [Note] ./bin/mysqld (mysqld 5.6.36) starting as process 3349
2018-06-26 15:59:53 3349 [Note] InnoDB: Using atomics to ref count buffer pool pages
2018-06-26 15:59:53 3349 [Note] InnoDB: The InnoDB memory heap is disabled
2018-06-26 15:59:53 3349 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2018-06-26 15:59:53 3349 [Note] InnoDB: Memory barrier is not used
2018-06-26 15:59:53 3349 [Note] InnoDB: Compressed tables use zlib 1.2.3
2018-06-26 15:59:53 3349 [Note] InnoDB: Using Linux native AIO
2018-06-26 15:59:53 3349 [Note] InnoDB: Using CPU crc32 instructions
2018-06-26 15:59:53 3349 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2018-06-26 15:59:53 3349 [Note] InnoDB: Completed initialization of buffer pool
2018-06-26 15:59:53 3349 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2018-06-26 15:59:53 3349 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2018-06-26 15:59:53 3349 [Note] InnoDB: Database physically writes the file full: wait
2018-06-26 15:59:53 3349 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2018-06-26 15:59:54 3349 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2018-06-26 15:59:55 3349 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
2018-06-26 15:59:55 3349 [Warning] InnoDB: New log files created, LSN=45781
2018-06-26 15:59:55 3349 [Note] InnoDB: Doublewrite buffer not found: creating new
2018-06-26 15:59:55 3349 [Note] InnoDB: Doublewrite buffer created
2018-06-26 15:59:55 3349 [Note] InnoDB: 128 rollback segment(s) are active.
2018-06-26 15:59:55 3349 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-06-26 15:59:55 3349 [Note] InnoDB: Foreign key constraint system tables created
2018-06-26 15:59:55 3349 [Note] InnoDB: Creating tablespace and datafile system tables.
2018-06-26 15:59:55 3349 [Note] InnoDB: Tablespace and datafile system tables created.
2018-06-26 15:59:55 3349 [Note] InnoDB: Waiting for purge to start
2018-06-26 15:59:55 3349 [Note] InnoDB: 5.6.36 started; log sequence number 0
2018-06-26 15:59:55 3349 [Note] Binlog end
2018-06-26 15:59:55 3349 [Note] InnoDB: FTS optimize thread exiting.
2018-06-26 15:59:55 3349 [Note] InnoDB: Starting shutdown
2018-06-26 15:59:57 3349 [Note] InnoDB: Shutdown completed; log sequence number 1625977
OK
Filling help tables2018-06-26 15:59:57 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use explicit_defaults_for_timestamp server option (see documentation for more details).
2018-06-26 15:59:57 0 [Note] Ignoring secure-file-priv value as server is running with bootstrap.
2018-06-26 15:59:57 0 [Note] ./bin/mysqld (mysqld 5.6.36) starting as process 3371
2018-06-26 15:59:57 3371 [Note] InnoDB: Using atomics to ref count buffer pool pages
2018-06-26 15:59:57 3371 [Note] InnoDB: The InnoDB memory heap is disabled
2018-06-26 15:59:57 3371 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2018-06-26 15:59:57 3371 [Note] InnoDB: Memory barrier is not used
2018-06-26 15:59:57 3371 [Note] InnoDB: Compressed tables use zlib 1.2.3
2018-06-26 15:59:57 3371 [Note] InnoDB: Using Linux native AIO
2018-06-26 15:59:57 3371 [Note] InnoDB: Using CPU crc32 instructions
2018-06-26 15:59:57 3371 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2018-06-26 15:59:57 3371 [Note] InnoDB: Completed initialization of buffer pool
2018-06-26 15:59:57 3371 [Note] InnoDB: Highest supported file format is Barracuda.
2018-06-26 15:59:57 3371 [Note] InnoDB: 128 rollback segment(s) are active.
2018-06-26 15:59:57 3371 [Note] InnoDB: Waiting for purge to start
2018-06-26 15:59:57 3371 [Note] InnoDB: 5.6.36 started; log sequence number 1625977
2018-06-26 15:59:57 3371 [Note] Binlog end
2018-06-26 15:59:57 3371 [Note] InnoDB: FTS optimize thread exiting.
2018-06-26 15:59:57 3371 [Note] InnoDB: Starting shutdown
2018-06-26 15:59:59 3371 [Note] InnoDB: Shutdown completed; log sequence number 1625987
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
Alternatively you can run:
./bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd . ; ./bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems at http://bugs.mysql.com/
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
WARNING: Found existing config file ./my.cnf on the system.
Because this file might be in use, it was not replaced,
but was used in bootstrap (unless you used defaults-file)
and when you later start the server.
The new default config file was created as ./my-new.cnf,
please compare it with your file and take the changes you need.
WARNING: Default config file /etc/my.cnf exists on the system
This file will be read by default by the MySQL server
If you do not want to use this, either remove it, or use the
defaults-file argument to mysqld_safe when starting the server

可以看到,上面出現了兩個OK,這就說明初始化成功,還可以檢驗一下
# echo $?
0

輸出為0,說明上一條命令已經正確執行。 配置MySQL 首先複制配置文件:
# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆蓋"/etc/my.cnf"? y

打開配置文件,做以下修改:
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin =
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data/mysql
port = 3306
# server_id = ..
# socket = ..
# Remove leading # to set options mainly useful for reporting servers.

其中,basedir是MySQL包所在的路徑,datadir是定義的存放數據的地方,port定義MySQL服務監聽的端口,如果不定義默認就是3306,server_id定義該MySQL服務的ID號,用於做主從配置。
然後複制啟動腳本文件並修改其屬性:
# cp support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld

然後修改啟動腳本:
# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data/mysql

接下來將啟動腳本加入系統服務項並設置開機啟動:
# chkconfig add mysqld
# chkconfig mysqld on

最後啟動服務:
# service mysqld start
Starting MySQL.Logging to '/usr/local/mysql/data/mysql/localhost.localdomain.err'.
. SUCCESS!

上面已經啟動成功,如果沒有成功啟動,我們也可以到/usr/local/mysql//data/mysql目錄下查看錯誤日志。
檢查MySQL是否啟動的命令為:
# ps aux |grep mysqld				#結果應該大於2行
root 3494 0.0 0.0 11816 1612 pts/0 S 16:32 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe datadir=/usr/local/mysql/data/mysql pid-file=/usr/local/mysql/data/mysql/localhost.localdomain.pid
mysql 3655 0.5 24.3 1300820 453380 pts/0 Sl 16:32 0:01 /usr/local/mysql/bin/mysqld basedir=/usr/local/mysql datadir=/usr/local/mysql/data/mysql plugin-dir=/usr/local/mysql/lib/plugin user=mysql log-error=/usr/local/mysql/data/mysql/localhost.localdomain.err pid-file=/usr/local/mysql/data/mysql/localhost.localdomain.pid port=3306
root 3681 0.0 0.0 112720 984 pts/0 S+ 16:36 0:00 grep color=auto mysqld
# netstat -lntp |grep 3306 #查看是否在監聽3306端口
tcp6 0 0 :::3306 :::* LISTEN 3655/mysqld

如果是上面這樣的情況,說明MySQL啟動成功。
另外,停止MySQL服務:
#systemctl stop mysql

還可以以命令行的方式啟動腳本,–defaults-file指定配置文件,指定用戶,指定目錄,最後加上&符號,放到後台執行。
# /usr/local/mysql/bin/mysqld_safe defaults-file=/etc/my.cnf user=mysql datadir=/data/mysql &

以命令行的方式啟動的mysql腳本不能直接stop,可以使用killall停止服務。
使用killall會停止當前的寫讀操作,再將沒有寫入到磁盤中的數據寫到磁盤裏面去,寫完之後再將進程殺死。
如果遇到mysql的進程殺不死,可能說明數據量比較大,在慢慢寫入磁盤,這時候不要使用kill -9強制殺死進程,可能會損壞數據。
最後,MariaDB的安裝方法與MySQL大致相同,這裏不做更多贅述。
三、安裝php
所需軟件 libmcrypt-2.5.7.tar.gz php-5.6.27.tar.gz 放在資源裏自行下載 在php服務器上 1.安裝前提軟件
[root@php ~]# yum -y install epel-release
[root@php ~]# yum -y install gcc gcc-c++ libxml2-devel lzip2-devel libcurl-devel libmcrypt-devel openssl-devel bzip2-deve

2.將libmcrypt-2.5.7.tar.gz php-5.6.27.tar.gz 包放在/usr/src目錄下 進入/usr/src/目錄下解包編譯安裝
[root@php ~]# cd /usr/src/
[root@php src]# tar zxf libmcrypt-2.5.7.tar.gz
[root@php src]# cd libmcrypt-2.5.7/
[root@php libmcrypt-2.5.7]# ./configure prefix=/usr/local/libmcrypt && make && make install

3.安裝php
[root@php ~]# cd /usr/src/
[root@php src]# tar zxf php-5.6.27.tar.gz
[root@php src]# cd php-5.6.27/
[root@php php-5.6.27]# ./configure prefix=/usr/local/php5.6 with-mysql=mysqlnd with-pdo-mysql=mysqlnd with-mysqli=mysqlnd with-openssl enable-fpm enable-sockets enable-sysvshm enable-mbstring with-freetype-dir with-jpeg-dir with-png-dir with-zlib with-libxml-dir=/usr enable-xml with-mhash with-mcrypt=/usr/local/libmcrypt with-config-file-path=/etc with-config-file-scan-dir=/etc/php.d with-bz2 enable-maintainer-zts && make && make install

4.提供 php 配置文件
[root@php ~]# cp /usr/src/php-5.6.27/php.ini-production /etc/php.ini

5.為 php-fpm 提供腳本
[root@php ~]# cd /usr/src/php-5.6.27/
[root@php php-5.6.27]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@php php-5.6.27]# chmod +x /etc/init.d/php-fpm
[root@php php-5.6.27]# chkconfig add php-fpm
[root@php php-5.6.27]# chkconfig php-fpm on

6.提供 php-fpm 配置文件並編輯
[root@php ~]# cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf
[root@php ~]# vim /usr/local/php5.6/etc/php-fpm.conf

修改內容如下:
pid = run/php-fpm.pid //;去掉
listen = 192.168.1.105:9000 // php服務器的地址
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

保存退出 7.啟動php-fpm服務
[root@php ~]# systemctl start php-fpm

四、測試Apache與php的靜/動分離
1.啟用Apache服務的代理轉發
[root@httpd ~]# vim /usr/local/httpd/conf/httpd.conf

找到下面三行,去除#號:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
Include conf/extra/httpd-vhosts.conf

找到AddType所在行,添加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

定位至 DirectoryIndex,改為:
DirectoryIndex index.php index.html

保存退出 重啟httpd服務
[root@httpd ~]# systemctl restart httpd

2.配置虛擬主機文件
# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

刪除其他內容帶#的不刪 添加:
<VirtualHost *:80>
ServerAdmin webmaster@php.com
DocumentRoot "/var/www/php"
ServerName www.php.com
ServerAlias php.com
ErrorLog "logs/php.com-error_log"
CustomLog "logs/php.com-access_log" common
ProxyRequests Off
ProxyPassMatch ^/(.*.php(/.*)?)$ fcgi://192.168.0.106:9000/var/www/php/$1
<Directory "/var/www/php">
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

保存退出 3.測試
在 php 服務器上的/var/www/php 目錄下創建.php 的測試頁: 創建目錄
#mkdir -p /var/www/php

[root@php ~]# vim /var/www/php/index.php

添加:
<?php
phpinfo();
?>

保存退出
在http服務器上也創個目錄
# mkdir -p /var/www/php

在mysql服務器上測試訪問Apache,會出現php內容這就證明成功了 注:圖片中的IP地址忽略,訪問還是httpd服務器的地址

熱門文章