一丶LAMP
1.什么是LAMP
L: linux 是免费开源软件,这意味着源代码可用的操作系统。
A: apache (httpd) 是使用中最受欢迎的一个开放源码的WEB服务器软件
M: mysql, mariadb 是多线程、多用户的SQL数据库管理系统。
P: php, perl, pyth 是一种编程语言最初设计生产动态网站。PHP 是主要用于服务器端的应用程序软件。Perl 和 Python 类似
常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.
2.LAMP构架及工作原理
浏览器向服务器发送http请求,服务器 (Apache) 接受请求,如果是静态资源则直接调用,如果是动态资源则调用php处理模块连接mysql数据库进行php脚本的处理。脚本处理完后,将结果转为静态资源,由Apache将处理完的信息通过http协议方式发送给浏览器,浏览器解析,渲染等一系列操作后呈现整个网页。
3.CGI
CGI:Common Gateway Interface
可以让一个客户端,从网页浏览器通过http服务器向执行在
网络服务器上的程序传输数据;CGI描述了客户端和服务器程
序之间传输的一种标准
二丶搭建LAMP
软件准备
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.bz2
我们准备编译安装httpd,所以需要自己先准备apr包(注意版本,如果相差太多可能会发生错误)
mariadb-5.5.60-linux-x86_64.tar.gz
数据库二进制安装包
php-5.6.36.tar.xz
xcache-3.2.0.tar.bz2
php和php加速器(注意xcache版本和php版本)
1.编译安装httpd2.4
[root@lamp src]# tar xvf apr-1.6.2.tar.gz ;tar xvf apr-util-1.6.0.tar.gz ;tar xvf httpd-2.4.29.tar.bz2 (#解压缩数据包)
[root@lamp src]# cp -r apr-1.6.2 httpd-2.4.29/srclib/apr
[root@lamp src]# cp -r apr-util-1.6.0 httpd-2.4.29/srclib/apr-util (#将apr拷贝到httpd指定目录下)
[root@lamp httpd-2.4.29]# ./configure --prefix=/app/httpd24 --sysconfdir=/etc/httpd24/conf --enable-so --enable-ssl --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
[root@lamp httpd-2.4.29]# make -j 4 && make install (#编译安装)
[root@lamp httpd-2.4.29]# vim /etc/profile.d/env.sh (#将httpd启动项加入到全局配置文件里)
- export PATH=/app/httpd24/bin:$PATH
[root@lamp httpd-2.4.29]# source /etc/profile.d/env.sh (#重读配置文件)
[root@lamp httpd-2.4.29]# useradd -r -m -d /var/www -u 48 -s /sbin/nologin apache (#创建apache用户)
[root@lamp ~]# vim /etc/init.d/httpd (#修改启动项文件,若没有可从别的机器拷贝一份或用rpm2cpio指令从httpd rpm包里拷贝出来一份)
apachectl=/app/httpd24/bin/apachectl
httpd=${HTTPD-/app/httpd24/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
[root@lamp ~]# chkconfig --add httpd24 (#将httpd加入到系统服务)
[root@lamp ~]# chkconfig httpd24 on (#设定 等级为on)
[root@lamp ~]# vim /etc/httpd24/conf/httpd.conf (#配置httpd配置文件)
- ServerName lamp.centos6.com:80
- DocumentRoot "/var/www/html"
- <Directory "/var/www/html">
- User apache
- Group apache
[root@lamp ~]# vim /var/www/html/index.html (#编写网页内容)
- <html><body><h1> centos 6.9 LAMP works!</h1></body></html>
[root@lamp ~]# /etc/init.d/httpd24 restart (启动(重启)服务)
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
2.二进制安装mariadb
[root@lamp src]# tar xvf mari`adb-5.5.60-linux-x86_64.tar.gz -C /usr/local/ (#解压安装包并指定目录)
[root@lamp src]# cd /usr/local/
[root@lamp local]# ln -s mariadb-5.5.60-linux-x86_64/ mysql (#创建软链接)
[root@lamp httpd-2.4.29]# vim /etc/profile.d/env.sh (#添加启动项到全局文件)
export PATH=/app/httpd24/bin:/usr/local/mysql/bin:$PATH
[root@lamp local]# source /etc/profile.d/env.sh (#重读全局配置文件)
[root@lamp local]# cd mysql/
[root@lamp mysql]# useradd -m -r -d /app/mysqldb -u 27 -s /sbin/nologin mysql (#创建mysql系统用户)
[root@lamp mysql]# scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql
[root@lamp mysql]# mkdir /etc/mysql (#编译安装)
[root@lamp mysql]# cp support-files/my-huge.cnf /etc/mysql/my.cnf
[root@lamp mysql]# vim /etc/mysql/my.cnf (#更改配置文件)- [mysqld]
- datadir = /app/mysqldb
- innodb_file_per_table = ON
- skip_name_resolve = ON
[root@lamp mysql]# setfacl -m u:mysql:rwx /var/log (#给mysql用户写日志权限)
[root@lamp mysql]# service mysqld restart (#启动mysql数据库)
[root@lamp mysql]# mysql_secure_installation (#修改密码配置等)
[root@lamp mysql]# mysql -uroot -pcentosMariaDB [(none)]> create database wpdb; (#创建目录)
Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> grant all on wpdb.* to wpuser@'%' identified by 'centos'; (#创建用户························)
Query OK, 0 rows affected (0.01 sec)
3.源码编译安装php5
[root@lamp src]# tar xvf php-5.6.36.tar.xz (#解压安装包)
[root@lamp php-5.6.36]# ./configure \ (#自己按需求配置)--prefix=/app/php \
--with-mysql=/usr/local/mysql \
--with-openssl \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--enable-sockets \
--with-apxs2=/app /httpd24/bin/apxs\
--with-mcrypt \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--with-bz2[root@lamp php-5.6.36]# make -j 2 && make install (#编译安装)
[root@lamp php-5.6.36]# cp php.ini-production /etc/php.ini
[root@lamp php-5.6.36]# vim /etc/httpd24/conf/httpd.conf (#修改httpd配置文件,添加php格式)
- <IfModule dir_module>
- DirectoryIndex index.php index.html
- </IfModule>
- AddType application/x-httpd-php .php
- AddType application/x-httpd-php-source .phps
[root@lamp ~]# vim /var/www/html/index.php (#编写网页内容,并测试是否可以成功连接mysql数据库,以php为连接 打通httpd和mysql数据库)
- <html><body><h1> centos 6.9 LAMP works!</h1></body></html>
- <?php
- $mysqli=new mysqli("localhost","root","centos");
- if(mysqli_connect_errno()){
- echo "连接数据库失败!";
- $mysqli=null;
- exit;
- }
- echo "连接数据库成功!";
- $mysqli->close();
- $link =
- mysql_connect('localhost','root','centos');
- if ($link)
- echo "Success...";
- else
- echo "Failure...";
- mysql_close();
- phpinfo();
- ?>
4.编译实现php-xcache加速
[root@lamp src]# tar xvf xcache-3.2.0.tar.bz2 (#解压安装包)
[root@lamp ~]# vim /etc/profile.d/env.sh (#添加至全局文件并刷新)
- export PATH=/app/php/bin:/app/httpd24/bin:/usr/local/mysql/bin:$PATH
[root@lamp ~]# source /etc/profile.d/env.sh
[root@lamp src]# cd xcache-3.2.0
[root@lamp xcache-3.2.0]# phpize (#自动创建文件)
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
[root@lamp xcache-3.2.0]# ./configure --enable-xcache --with-php-config=/app/php/bin/php-config
[root@lamp xcache-3.2.0]# make && make install (#编译安装)
[root@lamp xcache-3.2.0]# mkdir /etc/php.d
[root@lamp xcache-3.2.0]# cp xcache.ini /etc/php.d/
[root@lamp xcache-3.2.0]# vim /etc/php.d/xcache.ini (#在php扩展配置目录下编写配置文件,将xcache模块启用)
*extension = /app/php/lib/php/extensions/no-debug-non-zts-20131226/xcache.so
[root@lamp xcache-3.2.0]# service httpd24 restart (#重启httpd服务)
Stopping httpd: [ OK ]
Starting httpd: [ OK ]完成安装
转载于:https://blog.51cto.com/13570215/2113015