当前位置:文档之家› 编译安装php

编译安装php

Ⅰ、首先编译安装mysql,因为下面的文件需要使用到mysql

编译优化安装mysql-5.1.46.tar.gz

# tar zxvf mysql-5.1.46.tar.gz

# cd mysql-5.1.46

# groupadd -g 5050 mysql

# useradd -g mysql -u 5050 -s /sbin/nologin -M mysql

# autoreconf --force --install

# libtoolize --automake --force

# automake --force --add-missing

# CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti -fomit-frame-pointer -ffixed-ebp"

# ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-charset=gbk --localstatedir=/data --with-extra-charsets=all --enable-thread-safe-client --with-plugins=all --with-pthread

注:suse下编译需要将--with-client-ldflags=-all-static 改成all-static-ltinfo

# make && make install

# cd /usr/local/mysql/

# chown -R mysql:mysql .

# chown -R mysql:mysql /data

# bin/mysql_install_db --user=mysql

# cp share/mysql/https://www.doczj.com/doc/fb12508.html,f /etc/https://www.doczj.com/doc/fb12508.html,f

# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf

# ldconfig

# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

# source /etc/profile

# cp share/mysql/mysql.server /etc/init.d/mysqld

# chmod 755 /etc/init.d/mysqld

# chkconfig --add mysqld

# chkconfig mysqld off

Ⅱ编译安装apache和php

㈠编译安装支持库

1、编译安装jpegsrc.v6b.tar.gz

# tar zxvf jpegsrc.v6b.tar.gz

# mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}

# cd jpeg-6b/

# ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static

# make && make install

2、编译安装libpng-1.4.4.tar.gz

# tar zxvf libpng-1.4.4.tar.gz

# cd libpng-1.4.4

# ./configure --prefix=/usr/local/libpng

# make && make install

3、编译安装freetype-2.4.3.tar.gz

# tar zxvf freetype-2.4.3.tar.gz

# cd freetype-2.4.3

# mkdir -pv /usr/local/freetype

# ./configure --prefix=/usr/local/freetype

# make && make install

4、编译安装zlib-1.2.5.tar.gz

# tar zxvf zlib-1.2.5.tar.gz

# cd zlib-1.2.5

# mkdir /usr/local/zlib

# ./configure --prefix=/usr/local/zlib

# make && make install

5、编译安装curl-7.21.2.tar.gz

# tar zxvf curl-7.21.2.tar.gz

# mkdir -pv /usr/local/curl

# cd curl-7.21.2

# ./configure --prefix=/usr/local/curl

# make && make install

6、编译安装libxml2-sources-2.7.8.tar.gz

# tar zxvf libxml2-sources-2.7.8.tar.gz

# cd libxml2-2.7.8/

# mkdir -pv /usr/local/libxml2

# ./configure --prefix=/usr/local/libxml2

# make

# make install

7、编译安装libxslt-1.1.9.tar.gz 可以安装,也可以不安装

# tar zxvf libxslt-1.1.9.tar.gz

# mkdir -pv /usr/local/libxslt

# cd libxslt-1.1.9

# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2

# make

# make install

8、编译安装fontconfig-2.8.0.tar.gz

下载地址https://www.doczj.com/doc/fb12508.html,/release/

# tar zxvf fontconfig-2.8.0.tar.gz

# cd fontconfig-2.8.0

# mkdir -pv /usr/local/fontconfig

# ./configure --prefix=/usr/local/fontconfig --disable-docs --with-freetype-config=/usr/local/freetype/bin/freetype-config # make

# make install

9、编译安装gettext-0.18.tar.gz 下载地址https://www.doczj.com/doc/fb12508.html,/gnu/gettext/

可以使用yum install gettext安装

# tar zxvf gettext-0.18.tar.gz

# cd gettext-0.18

# mkdir /usr/local/gettext

# ./configure --prefix=/usr/local/gettext

# make && make install

10、编译安装libart_lgpl-2.3.17.tar.tar

# tar zxvf libart_lgpl-2.3.17.tar.tar

# cd libart_lgpl-2.3.17

# mkdir -pv /usr/local/libart

# ./configure --prefix=/usr/local/libart #也有加上参数--disable-shared 意义暂时不明白

# make && make install

11、编译安装gd-2.0.35.tar.gz

# tar zxvf gd-2.0.35.tar.gz

# cd gd-2.0.35

# mkdir -pv /usr/local/gd2

# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg --with-zlib-dir=/usr/local/zlib --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype --with-fontconfig=/usr/local/fontconfig --with-gettext=/usr/local/gettext --with-libart=/usr/local/libart

如果安装 GD2时出错提示:

configure.ac:64: warning: macro `AM_ICONV' not found in library

--run autoconf configure.ac:64: error: possibly undefined macro: AM_ICONV

If this token and others are legitimate, please use m4_pattern_allow.

See the Autoconf documentation.

make: *** [configure] error 1

解决:cp /usr/lib/libattr.a /lib/libattr.a

说明:在/usr/lib/libattr.* 在/usr/lib下有2个libarrt.*文件,在/lib下面有其中一个,把另一个复制过去就OK

如果出错:make[2]: *** [gd_png.lo] Error 1 解决:修改gd源文件下

# vim gd_png.c

找到png.h修改为/usr/local/libpng/include/png.h

# make

# make install

Ⅲ、安装apache和php

①安装apr和apr-util,这两个软件在apache源码包的srclib目录下

apr编译

# ./configure --prefix=/usr/local/apr

# make && make install

apr-util编译

# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

# make && make install

②安装httpd-2.2.15 #这是基于MPM-prefork进程模式,MPM-worker模式基于线程

③修改一些安全参数和并发连接参数下面的文件都在apache的源文件中

# vim server/mpm/prefork/prefork.c

#define DEFAULT_SERVER_LIMIT 5000

# vim server/mpm/worker/worker.c

#define DEFAULT_THREAD_LIMIT 400

#define DEFAULT_SERVER_LIMIT 200

# vim include/ap_release.h

#define AP_SERVER_BASEPRODUCT "Microsoft-IIS/5.0"

# vim os/unix/os.h

#define PLATFORM "Win32"

# tar zxvf httpd-2.2.15.tar.gz

# cd httpd-2.2.15

# ./configure --prefix=/usr/local/apache2 --enable-so --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-rewrite --enable-deflate --enable-expires --disable-cgi --disable-cgid --disable-access --disable-env --disable-autoindex --disable-asis --disable-action --disable-negotiation --disable-include --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-mods-shared=most

#最后一个参数为可选

# make && make install

# /usr/local/apache2/bin/apachectl -l #查看编译的模块

# /usr/local/apache2/bin/apachectl start #启动http服务,输入http://IP出现页面表示apache安装成功

④安装php

1、编译安装zxvf php-5.3.3.tar.gz

# tar zxvf php-5.3.3.tar.gz

# mkdir -pv /usr/local/php5

# cd php-5.3.3

# ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-gd=/usr/local/gd2 --with-jpeg-dir=/usr/local/jpeg --with-zlib-dir=/usr/local/zlib --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype --with-mysql=/usr/local/mysql --enable-mbstring=all --with-curl=/usr/local/curl --enable-mbregex --enable-ftp --enable-soap --with-xsl=/usr/local/libxslt --with-config-file-path=/usr/local/php5/etc --enable-zip --with-libXML-dir=/usr/local/libxml2 --enable-sockets

# make

# make install

⑤整合apache和php

修改httpd.conf文件使支持php

# vim /usr/local/apache2/conf/httpd.conf

查看是否有这一行,如果没有,需要增加上,理论上apache2.2.15与php5.3.3编译安装完成后,会自动生成这一行LoadModule php5_module modules/libphp5.so

在第310行下面增加下面的内容,309与310行的内容是

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

在这两行下面加入下面的内容,就能支持php

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

注:关于没有php.ini的解决,从源码目录复制

cp php.ini-dist /usr/local/php5/etc/

⑥增加一个php测试页面(现在的家目录在apache_home/htdocs下面)另外,测试完后不要忘记删掉这个页面

# vim /usr/local/apache2/htdocs/test.php

This is a test

Ⅲ编译安装tomcat并且与apache整合

准备备工作,将apache-tomcat-5.5.31.tar.gz、jdk-6u3-linux-i586.bin、放到/usr/local/目录下面

①安装jdk并测试

# chmod +x jdk-6u3-linux-i586.bin

# ./jdk-6u3-linux-i586.bin

# mv jdk1.6.0_03/ java

# vim /etc/profile

JA V A_HOME=/usr/local/java

PATH=$JA V A_HOME/bin:$PATH

CLASSPATH=.:$JA V A_HOME/lib/dt.jar:$JA V A_HOME/lib/tools.jar:$JA V A_HOME/jre/lib/rt.jar

export JA V A_HOME

export PA TH

export CLASSPA TH

# source /etc/profile

# java -version

②安装tomcat并测试

# tar zxvf apache-tomcat-5.5.31.tar.gz

# mv apache-tomcat-5.5.31 tomcat

# /usr/local/tomcat/bin/startup.sh

Using CA TALINA_BASE: /usr/local/tomcat

Using CA TALINA_HOME: /usr/local/tomcat

Using CA TALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME: /usr/local/java

Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar

在其它的电脑上输入http://你的IP地址:8080 ,这个时候应该能看到猫头

③整合apache与tomcat,在前面安装apache的时候已安装apr和apr-util这两个东西,这个东西可以提高tomcat 的性能

安装tomcat-native /usr/local/tomcat/bin/tomcat-native.tar.gz

# cd /usr/local/tomcat/bin

# tar zxvf tomcat-native.tar.gz

# cd tomcat-native-1.1.20-src/jni/native/

# ./configure --with-apr=/usr/local/apr --with-java-home=/usr/local/java

# make && make install

# vim /etc/profile

export LD_LIBRARY_PATH=$LD_LIBRARY_PA TH:/usr/local/apr/lib

# source /etc/profile

从这儿开始整合,这也是整个apache与tomcat整合最重要的地方

编译安装tomcat-connectors-1.2.28-src.tar.gz 先解压缩

# tar zxvf tomcat-connectors-1.2.31-src.tar.gz

# cd tomcat-connectors-1.2.31-src/native/

# ./configure --with-apxs=/usr/local/apache2/bin/apxs

# make

# cp apache-2.0/mod_jk.so /usr/local/apache2/modules/

# ls -al /usr/local/apache2/modules/

会存下绿色的mod_jk.so文件

配置

在/usr/local/apache2/conf/ 目录下面建立mod_jk.conf 和workers.properties

mod_jk.conf文件

# cd /usr/local/apache2/conf/

# vim mod_jk.conf

JkWorkersFile /usr/local/apache2/conf/workers.properties

JkLogFile /usr/local/apache2/logs/mod_jk.log

JkLogLevel info

JkLogStampFormat "[%a %b %d %H %S %Y]"

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

JkRequestLogFormat "%w %V %T"

JkMount /*.jsp worker1

JkMount /*/servlet/ worker1

JkMount /*.do worker1

# vim workers.properties

worker.list=worker1

worker.worker1.type=ajp13

worker.worker1.host=localhost

worker.worker1.port=8009

worker.worker1.lbfactor=50

worker.worker1.cachesize=10

worker.worker1.cache_timeout=600

worker.worker1.socket_keepalive=1

worker.worker1.socket_timeout=300

# vim httpd.conf

Listen 192.168.0.249 80

ServerName 192.168.0.249:80

DirectoryIndex index.php index.jsp index.html

LoadModule jk_module modules/mod_jk.so

Include /usr/local/apache2/conf/mod_jk.conf

修改tomcat conf/server.xml

# vim /usr/local/tomcat/conf/server.xml

这一段同时也是调优的一个办法

在host段加入

一个测试jsp的页面

# vim /usr/local/apache2/htdocs/test.jsp

Now time is: <%=new java.util.Date()%>

使用ab测试并发

ab -n 10000 -c 100 http://192.168.0.249/test.jsp

这表示同时处理1000个请求并运行10000次test.jsp页面

相关主题
文本预览
相关文档 最新文档