LAMP 搭建

以下 服务版本号

PHP       5.3
APACHE    2.2
mysql     5.1



1. 安装mysql
cd /usr/local/src/
wget  http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz

  (有可能出现DNS解析不到的问题)


tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
  解压缩
mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql
  移动、改名字


useradd -s /sbin/nologin mysql
 创建mysql 用户
cd /usr/local/mysql
  


./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

初始化

mkdir -p /data/mysql
创建data  数据 
chown -R mysql:mysql /data/mysql

cp support-files/my-large.cnf /etc/my.cnf
复制配置文件
vim /etc/my.cnf
修改
cp support-files/mysql.server /etc/init.d/mysqld
复制datadir  启动文件
chmod 755 /etc/init.d/mysqld
权限
vim /etc/init.d/mysqld  

修改datadir


basedir=/usr/local/mysql
datadir=/data/mysql


chkconfig --add mysqld

chkconfig mysqld on   启用


service mysqld start


/usr/local/mysql/bin/mysql   来使用 mysql

****   /data/mysql/"hostname".err   错误日志  很重要,MYSQL 启动不了 就看它

2. 安装apache

工作模式 : 区别?

apache 2.2  2.0 默认是 prefork      2.4 是event     其他worker   


prefork 使用的是子进程,     使用内存多

worker  既有进程也有线程    使用内存少,并发高

event   worker 升级版


进程和线程的区别?

进程相互独立,每个或多个互相不受影响

线程 相互共享进程资源。

wget http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz

tar zvxf httpd-2.2.16.tar.gz 

cd httpd-2.2.16

yum install -y gcc  安装 gcc

./configure --prefix=/usr/local/apache2 --with-included-apr  --with-pcre --enable-mods-shared=most

make && make install

/usr/local/apache2/bin/apachectl start
启动APACHE

如果 报错 httpd: Could not reliably determine the server's fully qualified domain name, usi

  需要修改 APACHE 文件  /usr/local/apache2/conf/httpd.conf

#ServerName 改掉 ServerName localhost:80

【如何指定使用worker/prefork】 http://www.lishiming.net/thread-944-1-1.html
【apache两种工作模式】http://www.lishiming.net/thread-838-1-2.html

3.  安装php
wget http://cn2.php.net/distributions/php-5.3.28.tar.gz
tar zxf php-5.3.28.tar.gz
cd php-5.3.28
./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/bin/apxs   --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql   --with-libxml-dir   --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir   --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl   --with-mcrypt   --enable-soap   --enable-gd-native-ttf   --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6

安装关键字:"libxml2-devel.i686   openssl-devel.i686

   bzip2-devel.i686    libjpeg-devel    libpng-devel.i686

    freetype-devel.i686     mcrypt(查不到,需要查找源)  

libmcrypt-devel.i686  "

               rpm -ivh   'http://'

centos5 32位epel源下载地址: www.lishiming.net/data/attachment/forum/epel-release-5-4_32.noarch.rpm
64位下载地址:  www.lishiming.net/data/attachment/forum/epel-release-5-4_64.noarch.rpm


centos6
32位epel yum源下载地址: www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm
64位下载地址: www.lishiming.net/data/attachment/forum/epel-release-6-8_64.noarch.rpm

make && make install


/usr/local/php/bin/php -i |less 查看配置文件路径、版本等
/usr/local/php/bin/php -m    查看PHP加载的模块信息

                                   -v 看版本

cp php.ini-production /usr/local/php/etc/php.ini
拷贝文件


/usr/local/apache2/bin/apachectl start
启动 apache
/usr/local/apache2/bin/apachectl -t
查看是否能启动   最后为OK    (修改配置后就查看情况)
4. 配置apache结合php
vim /usr/local/apache2/conf/httpd.conf
找到:
AddType application/x-gzip .gz .tgz
在该行下面添加:

AddType application/x-httpd-php .php
找到:
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
将该行改为:
<IfModule dir_module>
    DirectoryIndex index.html index.htm index.php
</IfModule>
找到:
#ServerName www.example.com:80
修改为:
ServerName localhost:80

5. 测试解析php
vim /usr/local/apache2/htdocs/1.php
写入:

<?php
    echo "php解析正常";
?>
保存后,继续测试:

curl localhost/1.php

如果  curl 能解析出来  浏览器里面 出不来 就是 iptables 问题。 关闭后 正常。

/usr/local/apache2/bin/apachectl -M

查看静态动态 的模块

查看最后 有没有 PHP5模块

ls  /usr/local/apache2/modules/libphp5.so

然后到 apache 配置文件  看模块 是否调用 php5

apache 问题   curl localhost  报错 403   修改  /usr/local/apa/conf/httpd      查找 vhost  注释掉


本文出自 “你我同行” 博客,谢绝转载!

你可能感兴趣的:(lamp,服务搭建)