前一节我们讲解了用apache软件搭建一个静态网站,并且能够访问了,在实际生活中我们运维也是同样的,我们把服务搭建好,然后把开发人员写的代码传到上面,放到站点目录即可。
今天我们讲解在Linux下的出名的LAMP网站架构。什么是LAMP呢?他是linux,Apache,Mysql,Php首字母的缩写。看下面的原理图:
从上面的原理图我们可以看到当客户端访问网站的时候,首先有apache软件先接待,然后Apache软件在给php软件,php在给数据库mysql软件。这个过程就像我们的国家接待外国元首一样,Apache软件就像我们个国家主席,他先接待来宾,php软件就是做事儿的工作人员,由他负责把国家主席的指令穿达给数据库mysql,数据库mysql在返回给Php,php在把文件给国家主席Apache,国家主席Apache再把文件给来宾(客户端)。这样说可能有点儿不专业,但我们只要知道他们之间怎么相互配合工作的就好啦。
现在他们的工作原理我们知道了,接下来就是我们实操了,现在我们在单机上搭建这个LAMP网站架构。
实验环境准备
虚拟机一台,操作系统centos6.6.Apache软件httpd-2.2.27,php软件php-5.3.27,数据库软件mysql5.5.32。
开始我先说下,我们在搭建LAMP时,要先安装apache软件然后在数据库软件,最后是Php软件。为什么呢?因为他们之间的依赖关系决定的。
一.安装Web应用软件httpd.
1关闭防火墙和selinux,查看系统信息
解压httpd软件,切换到相应的目录
1.tar xf httpd-2.2.27.tar.gz
2.cd httpd-2.2.27
3.配置文件./configure--prefix=/application/apache2.2.27 --enable-so --enable-rewrite
4.make&& make install然后执行启动命令哦
1.上传数据库软件,创建用户useradd -s /sbin/nologinmysql �M
2.tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz 解压软件
3.chmod -R 1777 /tmp更改临时目录权限
4.mv mysql-5.5.32-linux2.6-x86_64/application/mysql-5.5.32-linux2.6-x86_64 将解压的软件移动
5.ln -s /application/mysql-5.5.32-linux2.6-x86_64//application/mysql 做软连接
6. ./mysql/scripts/mysql_install_db --basedir=/application/mysql--datadir=/application/mysql/data/ --user=mysql 出现俩ok就可以了。这步是初始化数据库。
7.chown -R mysql.mysql /application/mysql 授权
#################注释########################
mysql/support-files/ mysql的主要配置文件目录
[root@oldboy application]# ls mysql/support-files/*.cnf
mysql/support-files/my-huge.cnf 大型 mysql/support-files/my-medium.cnf 最小的配置模版
mysql/support-files/my-innodb-heavy-4G.cnf重大型 mysql/support-files/my-small.cnf 比较的配置模版
mysql/support-files/my-large.cnf超大型
################ 以上根据不同的机型选择配置############
8.cp ./mysql/support-files/my-small.cnf /etc/my.cnf 复制一份配置模版到配置文件里。
9.sed -i 's#/usr/local/mysql#/application/mysql#g'/application/mysql/bin/mysqld_safe 替换启动命令目录位置。
10./application/mysql/bin/mysqld_safe & 启动mysql(&表示在后台启动)
11.cp /application/mysql/bin/* /usr/local/sbin/ 此步的作用是将mysql命令复制到系统里面,目的是为了方便启动。
12.[root@oldboy application]# mysql 直接输入命令进入mysql.
(1).cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld将mysql.server 复制到/etc/init.d/下面并且命名为mysqld.
(2).sed -i's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld 将/etc/init.d/mysqld目录路径改为/applicationg/mysql.
(3).chmod +x/etc/init.d/mysqld 给于执行权限
(4).killallmysqld 杀掉以前启动的mysql
(5).lsof -i:3306 检查是否杀死
(6)./etc/init.d/mysqldstart 重新启动。
(7).chkconfigmysqld on 设置开机启动
注意到此步骤我们要把我们的虚拟机创建一个快照,因为方便我们后面工作
安装准备
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum install zlib-devel libxml2-devel libjpeg-devel libiconv-devel -y
yum install freetype-devel libpng-devel gd-devel curl-devellibxslt-devel -y
yum install libmcrypt-devel -y
yum install openssl* -y
#################注释######################
libjpeg-devel====>libjpeg-turbo-devel-1.2.1-3.el6_5.x86_64名字变换了
curl-devel ====>libcurl-devel-7.19.7-40.el6_6.4.x86_64名字变换了
############################################################
tar zxf libiconv-1.14.tar.gz(文件下载地址找博主)
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
cd ../
########################################################################
tar xf php-5.3.27.tar.gz
cd ./php-5.3.27
配置PHP安装文件(注意这里不需要手敲,能复制就复制,这样我们才能提高效率)
./configure \
--prefix=/application/php5.3.27 \
--with-apxs2=/application/apache/bin/apxs \
--with-mysql=/application/mysql \
--with-xmlrpc \
--with-openssl \
--with-zlib \
--with-freetype-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-iconv=/usr/local/libiconv \
--enable-short-tags \
--enable-sockets \
--enable-zend-multibyte \
--enable-soap \
--enable-mbstring \
--enable-static \
--enable-gd-native-ttf \
--with-curl \
--with-xsl \
--enable-ftp \
--with-libxml-dir
然后进行编译与安装
make && make install
安装完之后做链接
ln -s /application/php5.3.27/ /application/php
到此处,我们的Apache,mysql数据库,PHP软件已经安装好了。我们怎么样让他们之间相互连接呢?接下来就是我们要做的事儿啦。
###配置apache支持PHP:
1.将配置文件复制默认配置文件下
[root@197 php-5.3.27]# cp php.ini-production /application/php/lib/php.ini
2.修改apche配置文件 在311行添加以下内容:告诉apache以php结尾的要php处理
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php .source .phps
cd /application/apache/conf/
3.在67,68行修改用户 目的是为了安全
User www Group www
4.修改首页文件 插入 index.php
168 DirectoryIndex index.php index.html
5.创建用户
useradd -s /sbin/nologin www -M
6.检查语法
/application/apache/bin/apachectl -t
7.授权站点目录
chown -R www.www /application/apache/htdocs/
8.重启服务
/application/apache/bin/apachectl restart
9.在一个访问的目录里/application/apache/htdocs/phpinfo.php创建一个phpinfo.php文件内容如下
<?php
phpinfo();
?>
客户端测试192.168.1.18/phpinfo.php
浏览器访问客户端测试192.168.1.18/phpinfo.php
看到这张画面说明我们的Apache到PHP是连通的,注意测试完要把我们刚才编写的那个phpinfo.php这个删除。
1.给数据库创建一个用户和密码。
mysqladmin -uroot password "123456"设置密码
mysql -uroot -p123456 登录测试
2.在/application/apache/htdocs/phpinfo.php更改下内容如下
<?php
$link_id=mysql_connect('localhost','root','123456') or mysql_error();
if($link_id){
echo "mysql successful by lelekuaipao !";
}else{
echo mysql_error();
}
?>
~
再到客户端测试即可。
至此LAMP网站架构的搭建与连接成功啦。童鞋们有需要帮助的加博主QQ1807074965在这里我说下,我们把我们的服务搭建完了之后记得创建一个快照,这样方便我们下次使用。