Linux+Apache+Nginx+Mysql+PHP完美配置教程.docx

上传人:b****6 文档编号:6704136 上传时间:2023-01-09 格式:DOCX 页数:26 大小:97.33KB
下载 相关 举报
Linux+Apache+Nginx+Mysql+PHP完美配置教程.docx_第1页
第1页 / 共26页
Linux+Apache+Nginx+Mysql+PHP完美配置教程.docx_第2页
第2页 / 共26页
Linux+Apache+Nginx+Mysql+PHP完美配置教程.docx_第3页
第3页 / 共26页
Linux+Apache+Nginx+Mysql+PHP完美配置教程.docx_第4页
第4页 / 共26页
Linux+Apache+Nginx+Mysql+PHP完美配置教程.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

Linux+Apache+Nginx+Mysql+PHP完美配置教程.docx

《Linux+Apache+Nginx+Mysql+PHP完美配置教程.docx》由会员分享,可在线阅读,更多相关《Linux+Apache+Nginx+Mysql+PHP完美配置教程.docx(26页珍藏版)》请在冰豆网上搜索。

Linux+Apache+Nginx+Mysql+PHP完美配置教程.docx

Linux+Apache+Nginx+Mysql+PHP完美配置教程

Linux+apache+nginx+mysql+php完美配置教程

一、准备工作

1、安装编译工具gcc、gcc-c++

注意解决依赖关系,推荐使用yum安装,若不能联网可使用安装光盘做为yum源——

1)编辑yum配置文件:

#mount/dev/cdrom/mnt/cdrom

#vi/etc/yum.repos.d/CentOS-Media.repo

[c5-media]

name=CentOS-$releasever-Media

baseurl=file:

///mnt/cdrom*修改为光盘挂载点

file:

///media/cdrom/

file:

///media/cdrecorder/

gpgcheck=1

enabled=1*改为1意为启用

gpgkey=file:

///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

2)剪切/etc/yum.repos.d/CentOS-Base.repo

#mv/etc/yum.repos.d/CentOS-Base.repo/backup

3)依次安装gcc、gcc-c++

#yum-yinstallgcc

#yum-yinstallgcc-c++

2、关闭系统RPM安装包的Apache、MySQL的服务

关闭启动的服务httpd、mysqld

#servicehttpdstop

#servicemysqldstop

确定rpm包安装的httpd和mysqld不能开机自启动

chkconfig--level2345httpd(mysqld)off

3、关闭SELinux,允许防火墙80端口访问

1)关闭SELinux

#vi/etc/selinux/config

SELINUX=disabled*若安装时没有禁用SELinux,将enforcing改为disabled

修改后需重新启动Linux方可生效!

2)关闭防火墙Netfilter/iptables

因尚未做防火墙讲解,直接简单的关闭所有防火墙设置:

#iptables-F*如果没有禁用防火墙,默认80端口禁止访问

-Z-X

4、关闭不必要自启动服务

#ntsysv

以下列出服务可保持自启动,未列出的服务都可以关闭:

atd

crond#atd、crond计划任务

irqbalance

microcode_ctl#系统irq端口调用,系统服务

network#网络设置

sendmail#邮件

sshd#远程管理

syslog#系统日志

5、拷贝源码包,解包解压缩

建议将LAMP环境安装源码包统一存放在一个目录下,如/lamp

可编写个批量处理脚本,一次性把所有.tar.gz的安装包解包解压缩

#vitar.sh

cd/lamp

/bin/ls*.tar.gz>ls.list

/bin/ls*.tgz>>ls.list

forTARin`catls.list`

do

/bin/tar-zxf$TAR

done

/bin/rmls.list

6、查看确认磁盘空间未满

df-h

*若/分区已满,可以移动安装包到其他分区或删除其他无用文件

二、编译安装

●每个源码包配置编译安装完成后,确认安装目录下是否生成安装文件

以下版本都是比较稳定的版本,虽然不是最新的……

软件

Linux

Apache

Nginx

Mysql

PHP

版本

Centos5.5

2.2.9

0.8.46

5.5.3

5.2.14

1.准备php函数的rpm包

yum-yinstallgccgcc-c++autoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develzlibzlib-develglibcglibc-develglib2glib2-develbzip2bzip2-develncursesncurses-develcurlcurl-devele2fsprogse2fsprogs-develkrb5krb5-devellibidnlibidn-developensslopenssl-developenldapopenldap-develnss_ldapopenldap-clientsopenldap-servers

 

2.准备lnmp其他的源代码包

wget 

wget 

wget 

wget 

wget 

wget 

wget 

wget 

wget 

wget 

wget 

wget 

wget 

wget 

wget 

 

3.安装php-5.2.14源代码包所需要的函数支持包

tarzxvflibiconv-1.13.1.tar.gz

cdlibiconv-1.13.1/

./configure--prefix=/usr/local/libiconv

make

makeinstall

cd../

tarzxvflibmcrypt-2.5.8.tar.gz 

cdlibmcrypt-2.5.8/

./configure&&make&&makeinstall

#安装libltdl,也在libmcrypt源码目录中,非新软件

cdlibltdl/

./configure--enable-ltdl-install

make

makeinstall

cd../../

tarzxvfmhash-0.9.9.9.tar.gz

cdmhash-0.9.9.9/

./configure&&make&&makeinstall

cd../

建立软链接文件

ln-s/usr/local/lib/libmcrypt.la/usr/lib/libmcrypt.la

ln-s/usr/local/lib/libmcrypt.so/usr/lib/libmcrypt.so

ln-s/usr/local/lib/libmcrypt.so.4/usr/lib/libmcrypt.so.4

ln-s/usr/local/lib/libmcrypt.so.4.4.8/usr/lib/libmcrypt.so.4.4.8

ln-s/usr/local/lib/libmhash.a/usr/lib/libmhash.a

ln-s/usr/local/lib/libmhash.la/usr/lib/libmhash.la

ln-s/usr/local/lib/libmhash.so/usr/lib/libmhash.so

ln-s/usr/local/lib/libmhash.so.2/usr/lib/libmhash.so.2

ln-s/usr/local/lib/libmhash.so.2.0.1/usr/lib/libmhash.so.2.0.1

ln-s/usr/local/bin/libmcrypt-config/usr/bin/libmcrypt-config

tarzxvfmcrypt-2.6.8.tar.gz

cdmcrypt-2.6.8/

./configure&&make&&makeinstall

cd../

若提示

configure:

error:

***libmcryptwasnotfound的问题

 

configure:

error:

***libmcryptwasnotfound

 

为了的到mcrypt.so库文件,先后安装编译了mhash和libmcrypt,但是到最后编译mcrypt时报错:

 

configure:

error:

***libmcryptwasnotfound  

 

最后发现是因为环境变量的问题,gcc编译的时候根据自身定义的变量寻找相关函数库等文件,

libmcrypt也是刚安装的,在变量中没有定义出来,所以手动添加:

 

[root@localhostmodules]#exportLD_LIBRARY_PATH=/usr/local/lib:

$LD_LIBRARY_PATH

 

再次编译即可

 

4.编译安装MySQL5.5.3-m3(时间会比较长)

groupaddmysql

useradd-gmysqlmysql

tarzxvfmysql-5.5.3-m3.tar.gz

cdmysql-5.5.3-m3

./configure--prefix=/usr/local/mysql--without-debug--enable-thread-safe-client--with-pthread--enable-assembler--enable-profiling--with-mysqld-ldflags=-all-static--with-client-ldflags=-all-static--with-extra-charsets=all--with-plugins=all--with-mysqld-user=mysql--without-embedded-server--with-server-suffix=-community--with-unix-socket-path=/tmp/mysql.sock

make

#编译

makeinstall

#安装

cp-f/usr/local/mysql/share/mysql/my-f/etc/f

#准备mysql配置文件

vi/etc/f

[client]

default-character-set=utf8

#修改客户端和连接字符集

[mysqld]

character-set-server=utf8

#修改服务器和数据库字符集

collation-server=utf8_general_ci

#修改服务器校验字符集登陆mysql后可以\s查看字符集

setfacl-mu:

mysql:

rwx-R/usr/local/mysql

setfacl-md:

u:

mysql:

rwx-R/usr/local/mysql

#设置权限

/usr/local/mysql/bin/mysql_install_db--user=mysql

#安装mysql和test数据库

/usr/local/mysql/bin/mysqld_safe--user=mysql&

#启动mysql服务

/usr/local/mysql/bin/mysqladmin-urootpassword123456

#修改mysql登录密码为123456

/usr/local/mysql/bin/mysql-uroot-p123456

#用mysql登录,登录成功则说明mysql安装成功

 

5.编译安装PHP(FastCGI模式。

使用fastCGI管理php,加快php解析速度)

tarzxvfphp-5.2.14.tar.gz

gzip-cdphp-5.2.14-fpm-0.5.14.diff.gz|patch-dphp-5.2.14-p1

#解压并打补丁,让php支持fpm来方便管理php-cgi进程(使用php-fpm管理fastCGI)

#gzip-c保留源文件-d解压

cdphp-5.2.14/

./configure--prefix=/usr/local/php--with-config-file-path=/usr/local/php/etc--with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--with-iconv-dir=/usr/local/libiconv--with-freetype-dir--with-jpeg-dir--with-png-dir--with-zlib--with-libxml-dir=/usr--enable-xml--disable-rpath--enable-discard-path--enable-safe-mode--enable-bcmath--enable-shmop--enable-sysvsem--enable-inline-optimization--with-curl--with-curlwrappers--enable-mbregex--enable-fastcgi--enable-fpm--enable-force-cgi-redirect--enable-mbstring--with-mcrypt--with-gd--enable-gd-native-ttf--with-openssl--with-mhash--enable-pcntl--enable-sockets--with-ldap--with-ldap-sasl--with-xmlrpc--enable-zip--enable-soap

makeZEND_EXTRA_LIBS='-liconv'

#编译过程设定变量(编译过程需要)

makeinstall

cpphp.ini-dist/usr/local/php/etc/php.ini

cd../

 

6.准备编译安装PHP5扩展模块

tarzxvfmemcache-2.2.5.tgz

cdmemcache-2.2.5/

/usr/local/php/bin/phpize

./configure--with-php-config=/usr/local/php/bin/php-config&&make&&makeinstall

cd../

tarjxvfeaccelerator-0.9.6.1.tar.bz2

cdeaccelerator-0.9.6.1/

/usr/local/php/bin/phpize

./configure--enable-eaccelerator=shared--with-php-config=/usr/local/php/bin/php-config

make

makeinstall

cd../

tarzxvfPDO_MYSQL-1.0.2.tgz

cdPDO_MYSQL-1.0.2/

/usr/local/php/bin/phpize

./configure--with-php-config=/usr/local/php/bin/php-config--with-pdo-mysql=/usr/local/mysql

make

makeinstall

cd../

tarzxvfImageMagick.tar.gz

cdImageMagick-6.5.1-2/

./configure&&make&&makeinstall

cd../

tarzxvfimagick-2.3.0.tgz

cdimagick-2.3.0/

/usr/local/php/bin/phpize

./configure--with-php-config=/usr/local/php/bin/php-config&&make&&makeinstall

cd../

7.安装apache(同时让php生效,设置完成后,apache就能解析php了)

cdhttpd-2.2.9

./configure--prefix=/usr/local/apache2/--sysconfdir=/usr/local/apache2/etc/--with-included-apr--enable-so--enable-deflate=shared--enable-expires=shared--enable-rewrite=shared

make

makeinstall

cd../

libphp5.so文件是apache解析php模块

cp/lnmp/libphp5.so/usr/local/apache2/modules/libphp5.so

创建软链接

ln-sf/usr/local/lib/libiconv.so.2/usr/lib/libiconv.so.2

让php生效,编辑httpd.conf,加入一下两句话(任意位置)

vi/usr/local/apache2/etc/httpd.conf

AddTypeapplication/x-httpd-php.php.phtml.phps(注意T的大小写)

LoadModulephp5_modulemodules/libphp5.so

*.phtml为将.phps做为PHP源文件进行语法高亮显示

重启Apache服务:

/usr/local/apache2/bin/apachectlrestart

*Apache无法启动,提示cannotrestoresegmentprotafterreloc:

Permissiondenied错误,为SELinux问题,可关闭SELinux或者执行命令chcon-ttexrel_shlib_t/usr/local/apache2/modules/libphp5.so

测试:

vi/usr/local/apache2/htdocs/test.php

phpinfo();

?

>

通过浏览器输入地址访问:

http:

//Apache服务器地址/test.php

*有时第一次浏览器测试会失败,关闭浏览器重启再尝试即可,非编译错误

8.修改php.ini文件,让php模块生效

cp/lnmp/php-5.2.14/php.ini-dist/usr/local/php/etc/php.ini

vi/usr/local/php/etc/php.ini

extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"

手工添加

extension="memcache.so"

extension="pdo_mysql.so"

extension="imagick.so"

再查找output_buffering=Off

修改为output_buffering=On

再查找;cgi.fix_pathinfo=0

修改为cgi.fix_pathinfo=0,防止Nginx文件类型错误解析漏洞

8.在php.ini中配置eAccelerator加速PHP

mkdir-p/usr/local/eaccelerator_cache

#准备eaccelerator缓存目录

vi/usr/local/php/etc/php.ini

[eaccelerator]

zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"

eaccelerator.shm_size="64"

eaccelerator.cache_dir="/usr/local/eaccelerator_cache"

eaccelerator.enable="1"

eaccelerator.optimizer="1"

eaccelerator.check_mtime="1"

eaccelerator.debug="0"

eaccelerator.filter=""

eaccelerator.shm_max="0"

eaccelerator.shm_ttl="3600"

eaccelerator.shm_prune_period="3600"

eaccelerator.shm_only="0"

press="1"

press_level="9"

9

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1