smith88 发表于 2015-8-20 08:16:43

生产环境LAMP安装部署标准文档2011-10-16完成

  收拾电脑 发现2011年的文档 贴出来分析给大家
  created by---张陆亚
########################################################
一:适合Linux操作系统版本:CENTOS 5.4/5.5 64位OS
  二:软件安装环境要求:
  Administration Tools
Editors
System Tools
Text-based Internet
X Software Development
Base
Development Libraries
Development Tools
  三:软件包版本要求
mysql-5.0.56.tar.gz
php-5.2.14.tar.gz
httpd-2.2.21.tar.gz
libiconv-1.13.1.tar.gz
  ########################################################
软件包存放于/tools
mkdir /tools
cd /tools
  
groupadd mysql
useradd -g mysql -M -s /sbin/nologin mysql
cat /etc/passwd|grep mysql
  tar zxvf mysql-5.0.56.tar.gz
cd mysql-5.0.56
./configure --prefix=/usr/local/mysql-5.0.56 \
--with-unix-socket-path=/usr/local/mysql-5.0.56/tmp/mysql.sock \
--localstatedir=/data/mysqldata\
--enable-assembler \
--enable-thread-safe-client \
--with-mysqld-user=mysql \
--without-debug \
--with-pthread \
--enable-assembler \
--with-extra-charsets=complex \
--with-readline \
--with-ssl \
--with-embedded-server \
--enable-local-infile \
--with-plugins=partition,innobase \
--with-plugin-PLUGIN \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static
make
make install
  /bin/cp support-files/my-medium.cnf /etc/my.cnf
mkdir -p /data/mysqldata
/usr/local/mysql-5.0.56/bin/mysql_install_db --user=mysql
chgrp -R mysql /usr/local/mysql-5.0.56
/usr/local/mysql-5.0.56/bin/mysqld_safe --user=mysql &
/bin/cp support-files/mysql.server /etc/init.d/mysql-5.0.56
chmod 755 /etc/init.d/mysql-5.0.56
echo "export PATH=$PATH:/usr/local/mysql-5.0.56/bin/" >> /etc/profile
source /etc/profile
echo "/etc/init.d/mysql-5.0.56 start" >> /etc/rc.local
/usr/local/mysql-5.0.56/bin/mysqladmin -uroot password admin#1
cd ..
  vi /etc/my.cnf(在下面添加如下内容,这个是经验之谈,慢慢体会吧)
skip-name-resolve
max_connections = 3000
  MYSQL的数据文件最好不要存放在/目录下,不然后期数据量很大的情况下会引起
不必要的麻烦,这些是经验之谈,虚拟机上可以随意的测试,但是线上的东西要谨
慎,小小的失误,可能会引起许多不必要的麻烦.
#------------------------------------------------------------------------------------------------

tar zvfx httpd-2.2.21.tar.gz
cd httpd-2.2.21
./configure --prefix=/usr/local/apache2.2.21 \
--enable-deflate \
--enable-headers \
--enable-modules=so \
--enable-so \
--enable-rewrite \
--enable-cgi \
--enable-file-cache \
--enable-cache \
--enable-disk-cache \
--enable-mem-cache
make
make install
cd ..
echo "/usr/local/apache2.2.21/bin/apachectl start" >> /etc/rc.local
注意,此处我采用的是perfork模式
  useradd www -M -s /sbin/nologin
cat /etc/passwd|grep www
  vi /usr/local/apache2.2.21/conf/httpd.conf
#------------------------------------------------------------------------------------------------
1:默认用户和组daemon修改为apache
  66 User www
67 Group www
  2:98行修改成这样
98 ServerName 127.0.0.1:80
  3:将如下
105 DocumentRoot "/usr/local/apache2.2.21/htdocs"
132 <Directory "/usr/local/apache2.2.21/htdocs">
  中的/usr/local/apache2.2.21/htdocs替换成/data
  4:将371行打开并调优perfork模式
371 #Include conf/extra/httpd-mpm.conf
  <IfModule mpm_prefork_module>
    StartServers          10
    MinSpareServers       10
    MaxSpareServers       15
    ServerLimit         2000
    MaxClients            1000
    MaxRequestsPerChild   5000
</IfModule>
  5:定义虚拟主机路径,在最后添加
  INCLude conf/vhost/
mkdir -p /usr/local/apache2.2.21/conf/vhost
  6:将次做如下修改:目的是禁止显示站点目录功
<Directory "/data">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
  
/usr/local/apache2.2.21/bin/apachectl -t
/usr/local/apache2.2.21/bin/apachectl stop
/usr/local/apache2.2.21/bin/apachectl start
#------------------------------------------------------------------------------------------------
  
tar zvfx libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/libiconv
make
make install
cd ..
  tar zvfx php-5.2.14.tar.gz
cd php-5.2.14
./configure --prefix=/usr/local/php-5.2.14 \
--with-apxs2=/usr/local/apache2.2.21/bin/apxs \
--with-mysql=/usr/local/mysql-5.0.56 \
--with-ttf \
--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
  make
make install
cp php.ini-recommended /usr/local/php-5.2.14/lib/php.ini
cd ..
  整合apache+php
#------------------------------------------------------------------------------------------------
  vi /usr/local/apache2.2.21/conf/httpd.conf +310 (添加对php解析支持内容)
  AddType application/x-httpd-php .php .php3
AddType application/x-httpd-php-source .phps
  #168行处,添加index.php
DirectoryIndex index.php index.html
  /usr/local/apache2.2.21/bin/apachectl -t   #检查语法错误,正常发情况下会有如下显示
#------------------------------------------------------------------------------------------------
测试php
  vi /data/info.php
<?php
phpinfo();
?>
  /usr/local/apache2.2.21/bin/apachectl graceful
http://10.0.0.26/info.php 测试ok!
  
测试数据库
vi /data/testdb.php
  <?php
$link=mysql_connect('localhost','root','jesse');
if(!$link) echo "fail";
else echo "success";
mysql_close();
?>
  http://10.0.0.26/testdb.php
测试ok!
  至此:lamp搭建完成!
页: [1]
查看完整版本: 生产环境LAMP安装部署标准文档2011-10-16完成