ホームページ >バックエンド開発 >PHPチュートリアル >Linux 6 で yum メソッドを使用して LAMP プラットフォームをインストールおよび構成する
Linux で構築された LAMP は、中小企業向けの古典的な Web サイト構築プラットフォームであり、これ以上に古典的なものはありません。正式名は Linux+Apache+Mysql+PHP で、動的な Web サイトを構築するためによく使用されますが、これらは組み合わせて使用されることが多いため、より高い互換性があり、強力な Web アプリケーションを形成します。プラットホーム。したがって、インターネット上には、有名な LAMP ワンクリック インストール ソリューションもあります。ただし、運用および保守担当者は、完了したインストール プロセスを理解する必要があります。この記事では主に、yum メソッドを使用して CentOS 6 ベースの LAMP プラットフォームを迅速に構築する方法について説明します (Linux のインストールは無視されます)。
1. yum ソースを準備します (この記事では 163 ミラーを使用します)
<code><span># mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup</span><span># wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -P /etc/yum.repos.d/</span><span># yum clean all</span><span># yum makecache</span></code>
2. Apache httpd をインストールします
詳しくは、Linux での Apache httpd のインストール
<code><span>###检查是否已安装httpd</span><span># rpm -qa|grep httpd</span><span> httpd-tools-2.2.15-45.el6.centos.x86_64</span><span> httpd-2.2.15-45.el6.centos.x86_64</span><span># yum -y install httpd ###此时我们看到httpd的小版本从45变成了53</span><span># rpm -qa|grep httpd</span><span> httpd-tools-2.2.15-53.el6.centos.x86_64</span><span> httpd-2.2.15-53.el6.centos.x86_64</span><span>###查询生成的相关配置文件</span><span># rpm -qc httpd|grep conf</span><span> /etc/httpd/conf.d/welcome.conf</span><span> /etc/httpd/conf/httpd.conf</span><span> /etc/httpd/conf/magic</span><span> /etc/sysconfig/htcacheclean</span><span> /etc/sysconfig/httpd</span><span>###启动httpd</span><span># /etc/init.d/httpd start</span><span> Starting httpd: [ OK ]</span><span># netstat -nltp|grep 80</span><span> tcp 0 0 :::80 :::* LISTEN 7621/httpd</span><span>###验证web服务</span><span># curl -I http://localhost</span><span> HTTP/1.1 403 Forbidden</span><span> Date: Tue, 12 Jul 2016 09:25:15 GMT</span><span> Server: Apache/2.2.15 (CentOS)</span><span> Accept-Ranges: bytes</span><span> Content-Length: 4961</span><span> Connection: close</span><span> Content-Type: text/html; charset=UTF-8</span><span>###编写一个php页面测试</span><span># echo "</span><span>> <html></span><span>> <h1>This is a php test page.</h1></span><span>> <?php</span><span>> phpinfo();</span><span>> ?></span><span>> </html>">>/var/www/html/index.php </span><span>###测试结果为phpinfo函数没有被解释</span><span># curl http://localhost/index.php</span><span> <html></span><span> <h1>This is a php test page.</h1></span><span> <?php</span><span> phpinfo();</span><span> ?></span><span> </html></span></code>
3 を参照してください。 . mysqlをインストールします
<code><span>###安装php,同时会安装依赖包</span><span># yum install php</span> Installing: php x86_64 <span>5.3</span><span>.3</span>-<span>47.</span>el6 base <span>1.1</span> M Installing <span>for</span> dependencies: php-cli x86_64 <span>5.3</span><span>.3</span>-<span>47.</span>el6 base <span>2.2</span> M php-common x86_64 <span>5.3</span><span>.3</span>-<span>47.</span>el6 base <span>530</span> k <span>###查看php安装清单 </span><span># rpm -ql php</span> /etc/httpd/conf.d/php.conf /usr/lib64/httpd/modules/libphp5.so /<span>var</span>/lib/php/session /<span>var</span>/www/icons/php.gif <span>###查看php的配置文件 </span><span># grep -vE "^#|^$" /etc/httpd/conf.d/php.conf </span> <IfModule prefork.c> LoadModule php5_module modules/libphp5.so </IfModule> <IfModule worker.c> LoadModule php5_module modules/libphp5-zts.so </IfModule> AddHandler php5-script .php AddType text/html .php DirectoryIndex index.php <span>###在上面的配置文件中,由于php以模块化方式与httpd结合工作,根据httpd的mpm模式不同,</span><span>###其所需要的php模块格式有所不同; prefork模式使用libphp5模块 worker和event模式则使用libphp5-zts模块</span><span>###重启httpd已使得php模块生效</span><span># /etc/init.d/httpd configtest</span> Syntax OK <span># /etc/init.d/httpd restart</span> Stopping httpd: [ <span> OK </span> ] Starting httpd: [ <span> OK </span> ] <span>###验证php模块已经被加载</span><span># httpd -M |grep php</span> php5_module (shared) <span>###验证php页面 </span><span># curl http://localhost/index.php|more</span> <html> <h1>This is a php test page.</h1> <!DOCTYPE html<span> PUBLIC </span><span>"-//W3C//DTD XHTML 1.0 Transitional//EN"</span><span>"DTD/xhtml1-transitional.dtd"</span>> <html><head> <style type=<span>"text/css"</span>> body {background-color: #ffffff; color: #<span>000000</span>;} ........... <span>###切换为使用worker工作模式</span><span># cp /etc/sysconfig/httpd /etc/sysconfig/httpd.bk</span><span># sed -i "s@#HTTPD=/usr/sbin/httpd.worker@HTTPD=/usr/sbin/httpd.worker@g" /etc/sysconfig/httpd</span><span># grep -vE "^#|^$" /etc/sysconfig/httpd</span> HTTPD=/usr/sbin/httpd.worker <span>###从下面的提示中,我们需要使用php5zts模块</span><span># /etc/init.d/httpd restart</span> Stopping httpd: [ <span> OK </span> ] Starting httpd: httpd.worker: Syntax error on line <span>221</span> of /etc/httpd/conf/httpd.conf: Syntax error on line <span>9</span> of /etc/httpd/conf.d/php.conf: Cannot load /etc/httpd/modules/libphp5-zts.so into server: /etc/httpd/modules/libphp5-zts.so: cannot open shared object file: No such file or directory [FAILED] <span>###安装php-zts模块</span><span># yum -y install php-zts</span><span># rpm -ql php-zts</span> /usr/lib64/httpd/modules/libphp5-zts.so <span># ps -ef|grep http ###查看httpd,已经切换为使用worker模式</span> root <span>10339</span><span>1</span><span>0</span><span>04</span>:<span>35</span> ? <span>00</span>:<span>00</span>:<span>00</span> /usr/sbin/httpd.worker apache <span>10341</span><span>10339</span><span>0</span><span>04</span>:<span>35</span> ? <span>00</span>:<span>00</span>:<span>00</span> /usr/sbin/httpd.worker apache <span>10342</span><span>10339</span><span>0</span><span>04</span>:<span>35</span> ? <span>00</span>:<span>00</span>:<span>00</span> /usr/sbin/httpd.worker apache <span>10343</span><span>10339</span><span>0</span><span>04</span>:<span>35</span> ? <span>00</span>:<span>00</span>:<span>00</span> /usr/sbin/httpd.worker apache <span>10344</span><span>10339</span><span>0</span><span>04</span>:<span>35</span> ? <span>00</span>:<span>00</span>:<span>00</span> /usr/sbin/httpd.worker</code>
5. まとめ
1. Apache httpdとphpの接続はモジュール化によって実現されます。
2. perfork モードの場合は libphp5 モジュールを使用し、ワーカー モードとイベント モードの場合は libphp5-zts モジュールを使用します。
3. php と mysql の場合、php-mysql パッケージをインストールすることで php から mysql にアクセスできます。
').addClass('事前番号付け').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i