pikhmj 发表于 2015-7-28 08:45:11

搭建基于LAMP的web应用程序平台

LAMP的介绍
Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
LAMP的搭建过程
安装次序:httpd-->mysql-->php
                因为php的编译安装依赖于httpd的开发环境,以及MySQL的开发环境,所以php最后安装
    一、准备环境

            首先安装开发工具和服务器

                yum groupinstall "Development Tools" "Server Platform Development"

                yum install -y pcre-devel

                yum install -y gcc

                yum install openssl

                yum install openssl-devel

            其次下载arp和api-util

                下载地址:arp.apache.org

                编译安装:


1
2
3
4
5
6
7
8
# tar xf apr-1.5.2.tar.bz2
# cd apr-1.5.2
# ./configure --prefix=/usr/local/apr
# make && make install
# tar xf apr-util-1.5.4.tar.bz2
# cd apr-util-1.5.4
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install




    二、安装httpd
                安装版本:httpd-2.2.31.tar.bz2

                下载地址:httpd.apache.org

                安装过程:
                  1)安装

1
2
3
4
tar xf httpd-2.2.31.tar.bz2
cd httpd-2.2.31.tar.bz2
# ./configure --prefix=/usr/local/apache22 --sysconfdir=/etc/httpd22 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-modules=most--enable-mpms-shared=all --with-mpm=prefork
# make && make install




--prefix=/usr/local/apache22:安装路径
-sysconfdir=/etc/httpd22:配置文件路径
--enable-so:让apache核心装载DSO
--enable-ssl:支持ssl
--enable-cgi:支持cgi

--enable-rewrite:支持重写功能
--with-zlib:支持数据压缩
--with-pcre:支持pcre正则
--with-apr=/usr/local/apr:apr位置
--with-apr-util=/usr/local/apr-util:apr-util位置
--with-modules=most:支持更多的模块
--enable-mpms-shared=all:支持mpms的所有模式
--with-mpm=prefork:设置mpm模式为prefork
   2)配置PATH            

1
2
# cat /etc/profile.d/httpd22.sh
export PATH=/usr/local/apache22/bin:$PATH




      3)配置服务脚本

1
2
3
4
5
6
7
8
# cp /etc/rc.d/init.d/httpd/etc/rc.d/init.d/httpd22 #直接拷贝原先系统中的脚本修改
    # cat /etc/rc.d/init.d/httpd22
prog=httpd
httpd=${HTTPD-/usr/local/apache22/bin/httpd}
pidfile=${PIDFILE-/usr/local/apache22/logs/${prog}.pid}
#pidfile=${PIDFILE-/var/run/${prog}.pid}
lockfile=${LOCKFILE-/var/lock/subsys/${prog}}
RETVAL=0




注意:httpd-2.2.31版本的httpd.pid位置有改动,因此需要修改pidfile文件位置
    启动服务即可正常运行,此时可用浏览器查看是否正常,注意,用外网浏览,需要关闭SELinux,配置iptable。

三、安装mysql(mariadb)

   
通用二进制格式安装MySQL:(下载地址:https://mariadb.org)
      安装过程:
    1)新建mysql组及用户:         

1
2
groupadd -r mysql
useradd -r -g mysql mysql




            2).为mysql解压      

1
2
3
tar xf mariadb-5.5.36-linux-i686.tar.gz -C /usr/local #必须解压这里
   cd /usr/local
   ln -sv mariadb-5.5.36-linux-i686 mysql#必须建立连接




   3).创建需要的目录及修改权限

1
2
3
4
5
6
7
8
9
10
11
12
cd mysql/
mkdir mydata   #创建数据的存放位置
pvcreate /dev/sda3
vgcreate myvb /dev/sda3
lvcreate -L 10G -m mylv#创建逻辑卷
   mkfs -t ext4 /dev/myvg/mylv
vim /etc/fstab
/dev/myvg/mylv /mydata xfs defaults#将mydata目录挂载至新建的逻辑卷上
mount -a
mount
mkdir /mydata/data
chown -R mysql:mysql /mydata/data#修改存放数据目录的用户及权限




   4)初始化mysql

1
2
scripts/mysql_install_db--help
scripts/mysql_install_db --user=mysql --datadir=/mydata/data#将用户设为mysql,数据存在于/mydata/data目录下





5) 验证:
         

1
ls /mydata/data#如果有文件,说明创建成功




    6).配置文件:

1
# mkdir /etc/mysql





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# cp support-files/my-large.cnf /etc/mysql/my.cnf
# vim /etc/mysql/my.cnf


port = 3306
socket = /tmp/mysql.sock
skip-external-locking key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
datadir=/mydata/data
innodb_file_per_table=on
#
innodb_file_per_table参数,可以修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间





#注意:mysql解压目录下有support-files目录,通过此目录可设置大部分配置文件
服务脚本:
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
      chkconfig --add mysqld
      service mysqld start
   ls /mydata/data
   vim /etc/profile.d/mariadi.sh   加bin
    exprot PATH=/usr/local/mysql/bin:$PATH
      mysql
SHOW DATABASES 显示存在的数据库
至此,mariaDB的安装完成。

四、模块化方式安装php:


1
2
3
4
5
6
7
8
yum install libxml2-devel libmcrypt-devel bzip2-devel
./configure --help |less
   ./configure --prefix=/usr/local/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-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache22/bin/apxs
   --with-mcrypt --with-bz2--with-config-file-path=/etc/php/php.ini
   --with-config-file-scan-dir=/etc/php/php.d/




   需要自动创建配置文件:


1
2
mkdir -pv /etc/php/php.d
cp php.ini-production /etc/php/php.ini




             配置httpd程序
          

1
2
3
4
5
6
cd /etc/httpd22/
      vim httpd22
      AddType application/x-httpd-php .php
       AddType application/x-httpd-php-source .phps
      LoadMoudle php5_module modules/libphp5.so
      DirectoryIndex index.php index.html




          配置index.html   

1
2
3
4
5
6
7
8
9
<?php
      $conn=mysql_cnnect('127.0.0.1','root','');
      if ($conn)
      echo "success";
      else
      echo "failure";
      mysql_close()
      
      <?php>




部署:phpMyAdmin
             为MySQL用户设定用户:
             1.SET PASSWORD FOR‘username'@'host'=PASSWORD('your_password')
             2.update mysql.user set password=password('you_password') where user="your user"
          

1
2
3
4
5
6
   
      mysql
      use mysql
      upadate user set password=password('magedu') where user='root'
      select User,Host,Password FROM user;
      FLUSE PRIVILEGES




           mysql -uroot -p 链接mysql,重新登陆


1
2
3
4
5
unzip phpAyAdmin-4.0.5-all-languages.zip
cd phpAyAdmin-4.0.5-all-languages
mv * /usr/local/apache/htdocs/pma
cd /usr/local/apache/htdocs/pma
cp config.sample.inc.php config.inc.php




压力测试工具xcache的安装


1
2
3
4
5
6
7
8
9
10
11
12
13
/usr/local/php/bin/phpize
./configure --help
./conifgure --with-php-config=/usr/local/php/bin/php-config
make && make install
//编译完成最后有个扩展路径/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/记录下来
# cp xcache.ini /etc/php/php.d/
# cd /etc/php/php.d
# vim xcache.ini

;; non-Windows example:
extension =/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so #改路径
;; Windows example:
; extension = php_xcache.dll




重启httpd服务,配置完成

页: [1]
查看完整版本: 搭建基于LAMP的web应用程序平台