lamp升级
2011年08月23日
--
lamp
mysql-cluster ---> 替换mysql-5.1.36
rm /usr/local/mysql -rf --(留下/data/ /usr/src/lamp/mysql-5.1.36 通过make install进行恢复)
使用mysql-cluster源码升级
把配置文件数据目录指向/data
/var/run/mysqld/mysql5.socket保持路径不变,php就可以找到mysql
-----------------------------------------------------
如果升级php扩展库
如果升级gd库,
1,重新编译新版本gd (参数尽量参考以前的编译参数)
2,重编php
升级apache
1,重新编译新版本apache (参数尽量参考以前的编译参数)
2,重编译php php 链接 /usr/local/apache2/bin/apxs
升级php时要注意php.ini,记得替换一下
升级gd,php
gd-2.0.36RC1.tar.gz
php-5.3.3.tar.bz2
[root@li ~]# tar xvf /share/soft/lamp/nginx/gd-2.0.36RC1.tar.gz -C /usr/src/lamp/
cd /usr/src/lamp/gd-2.0.36/
./configure --with-gnu-ld --with-x --with-libiconv-prefix=/usr/local/ --with-png=/usr/local/ --with-freetype=/usr/local/ --with-fontconfig=/usr --with-jpeg=/usr/local/
make; make install
ldconfig
[root@li gd-2.0.36RC1]# tar xvf /share/soft/lamp/php_source/php-5.3.3.tar.bz2 -C /usr/src/lamp/
./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-magic-quotes --disable-ipv6 --with-libxml-dir=/usr/local/ --with-zlib --with-bz2 --enable-calendar --with-curl --with-pcre-dir=/usr/local/ --with-gd=/usr/local/ --with-jpeg-dir=/usr/local/ --with-png-dir=/usr/local/ --with-freetype-dir=/usr/local/ --enable-gd-native-ttf --enable-mbstring --with-mcrypt=/usr/local/ --with-mhash=/usr/local/ --with-mysql=/usr/local/mysql/ --with-mysql-sock=/var/run/mysqld/mysql5.socket --with-mysqli=/usr/local/mysql/bin/mysql_config --with-snmp --enable-sockets --with-libxml-dir=/usr/local/ --with-iconv-dir=/usr/local/ --enable-zip --enable-zend-multibyte --with-gnu-ld --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-pdo-mysql=/usr/local/mysql/
make ;make install
注意安装信息,要求运行下面命令
libtool --finish /usr/src/lamp/php-5.3.3/libs
再注意安装信息
Libraries have been installed in:
/usr/src/lamp/php-5.3.3/libs
echo /usr/src/lamp/php-5.3.3/libs >> /etc/ld.so.conf.d/lamp.conf
ldconfig
[root@li php-5.3.3]# cp /usr/src/lamp/php-5.3.3/php.ini-production /usr/local/lib/php.ini
cp:是否覆盖“/usr/local/lib/php.ini”? y
[root@li php-5.3.3]# vim /usr/local/lib/php.ini
[MySQL]
mysql.default_port = 3307
mysql.default_socket = /var/run/mysqld/mysql5.socket
[MySQLi]
mysqli.default_port = 3307
mysqli.default_socket = /var/run/mysqld/mysql5.socket
重启apache,查看test.php页面,是升级到了php5.3.3
因为5.3.3不支持eyeos等软件,而且phpmyadmin也不能使用
php降级回去
cd /usr/src/lamp/php-5.2.10/ --以前的这个源码包没有删除
make install
libtool --finish /usr/src/lamp/php-5.2.10/libs
echo /usr/src/lamp/php-5.2.10/libs >> /etc/ld.so.conf.d/lamp.conf
ldconfig
vim /usr/local/lib/php.ini
[MySQL]
mysql.default_port = 3307
mysql.default_socket = /var/run/mysqld/mysql5.socket
[MySQLi]
mysqli.default_port = 3307
mysqli.default_socket = /var/run/mysqld/mysql5.socket
重启apache
----------------------------------------------
apache 错误页面的控制
自定义错误控制页面
vim /usr/local/apache2/conf/httpd.conf
# Multi-language error messages
Include conf/extra/httpd-multilang-errordoc.conf --打开这个子配置文件
vim /usr/local/apache2/conf/extra/httpd-multilang-errordoc.conf
可以看到多种错误号,对应的多种错误页面都存放在/usr/local/apache2/error/下面
ErrorDocument 404 /error/notfounderror.html --修改一个新的文件名
[root@li ~]# cd /usr/local/apache2/error/
[root@li error]# vim notfounderror.html --创建这个文件,并在里面写上你想要的错误信息,可以写一个html的静态页面,加上图片
重启apache
再用浏览器访问一个不存在的页面,就会返回刚才自定义的错误信息
-------------------------------------------------------------------
php加速
zend optimizer Zend优化器――优化你的PHP代码。
/share/soft/lamp/php_source/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
[root@li ~]# tar xvf /share/soft/lamp/php_source/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz -C /usr/src/lamp/
[root@li ~]# cd /usr/src/lamp/ZendOptimizer-3.3.3-linux-glibc23-i386/
直接./install.sh
安装完毕后查看/usr/local/lib/php.ini 最后是否自动加入了下面这段配置
[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3
zend_optimizer.version=3.3.3
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
eaccelerator Accelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍;
/share/soft/lamp/eaccelerator-0.9.5.2.tar.tar
[root@li /]# tar xvf /share/soft/lamp/eaccelerator-0.9.5.2.tar.tar -C /usr/src/lamp/
[root@li /]# cd /usr/src/lamp/eaccelerator-0.9.5.2/
phpize - prepare a PHP extension for compiling
[root@li eaccelerator-0.9.5.2]# /usr/local/bin/phpize --先用此命令,才会有configure文件,就可以进行编译了
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
./configure --with-php-config=/usr/local/bin/php-config --with-eaccelerator-sessions --with-eaccelerator-shared-memory --enable-eaccelerator
make ;make install
注意安装信息
Libraries have been installed in:
/usr/src/lamp/eaccelerator-0.9.5.2/modules
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20060613/
echo /usr/src/lamp/eaccelerator-0.9.5.2/modules >> /etc/ld.so.conf.d/lamp.conf
ldconfig
调用eaccelerator插件需要在php.ini里配置
vim /usr/local/lib/php.ini
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613/"
[eaccelerator]
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
# mkdir /tmp/eaccelerator
# chmod 777 /tmp/eaccelerator/
重启apache,验证/tmp/eaccelerator下是否产生了一些子目录
# ls /tmp/eaccelerator/
0 1 2 3 4 5 6 7 8 9 a b c d e f
验证test.php看是否有zend和eaccelerator配置信息段
并使用浏览器访问php网站,再去查看/tmp/eaccelerator的大小,是否增大
-----------------------------------------------------------------
memcache
高性能的分布式内存缓存服务器,通过缓存数据库查询结果,减少数据库访问次数,以提高动态web应用的速度
client
| |
应用服务器
| |
数据库 memcache
第一次,从数据库中取得数据保存到memcached
第二次,从memcached中取得数据
http://www.memcached.org/
[root@li apache_source]# tar xvf /share/soft/lamp/apache_source/memcached-1.4.1.tar.gz -C /usr/src/lamp/
[root@li apache_source]# cd /usr/src/lamp/memcached-1.4.1/
./configure --with-libevent=/usr/local/
make ;make install
[root@li memcached-1.4.1]# memcached -p 11211 -l 127.0.0.1 -d -u daemon -m 64m
-p TCP port number to listen on (default: 11211)
-l interface to listen on (default: INADDR_ANY, all addresses)
-d run as a daemon
-m max memory to use for items in megabytes (default: 64 MB)
-u assume identity of (only when run as root)
[root@li memcached-1.4.1]# netstat -ntlup |grep 11211
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 28752/memcached
udp 0 0 127.0.0.1:11211 0.0.0.0:* 28752/memcached
php-->链接memcached
[root@li memcached-1.4.1]# tar xvf /share/soft/lamp/apache_source/memcache-2.2.5.tar.gz -C /usr/src/lamp/
[root@li memcached-1.4.1]# cd /usr/src/lamp/memcache-2.2.5/
[root@li memcache-2.2.5]# /usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config --enable-memcache
注意安装信息
Libraries have been installed in:
/usr/src/lamp/memcache-2.2.5/modules
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20060613/ --这个目录因为上面安装eaccelerator时,已经加入到php.ini文件里,所以这里不用加
echo /usr/src/lamp/memcache-2.2.5/modules >> /etc/ld.so.conf.d/lamp.conf
ldconfig
修改php.ini增加memcached的扩展
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613/"--这一句前面装eaccelerator时装过,这里不用再加
extension="memcache.so"
重启apache,查看test.php是否有memcache的扩展配置段
------------------
安装wiki并使用memcached做为链接对象
[root@li memcache-2.2.5]# tar xvf /share/soft/lamp/LAMP_source/mediawiki-1.13.0.tar.gz -C /web/
cd /web/mediawiki-1.13.0/
chmod a+w config/
----------------------------------------
补充:php的session控制
安装时检查安装环境,有下面的警告
Warning: A value for session.save_path has not been set in PHP.ini. If the default value causes problems with saving session data, set it to a valid path which is read/write/execute for the user your web server is running under.
vim /usr/local/lib/php.ini
session.save_handler = files --这一句默认是打开的
session.save_path = "/tmp/session" --这一句没有,加上这一句
session.use_cookies = 1 --cookies认证
# mkdir /tmp/session
# chmod 777 /tmp/session/
重启apache,再刷新一下wiki的安装界面
session警告就没有了,代替的是下面的信息
Session save path (/tmp/session) appears to be valid.
---------------------------------------------
在object caching选项里选择 memcached
memcached server 填 上 127.0.0.1:11211
mysql> create database wikidb;
mysql> grant all on wikidb.* to 'wikiuser'@'localhost' identified by '123';
mysql> flush privileges;
再去wiki的安装界面填写数据授权选项
# Connected to memcached on 127.0.0.1:11211 successfully
Generating configuration file...
# Database type: MySQL
# Loading class: DatabaseMysql
# Attempting to connect to database server as wikiuser...success.
# Connected to 5.1.36-log; enabling MySQL 4.1/5.0 charset mode
# Database wikidb exists
# Creating tables... done.
# Initializing statistics...
# Created sysop account admin.
#
Creating LocalSettings.php...
[root@li mediawiki-1.13.0]# mv config/LocalSettings.php .
安装完毕
--------------------------------------------------------------------------
apache 限制功能 针对不同的虚拟主机来限制
# tar xvf /share/soft/lamp/apache_source/mod-cband-0.9.7.2.tgz -C /usr/src/lamp/
# cd /usr/src/lamp/mod-cband-0.9.7.2/
./configure --with-apxs=/usr/local/apache2/bin/apxs
make;make install
# vim /usr/local/apache2/conf/httpd.conf --查看配置文件里是否自动加载了mod_cband.so
LoadModule cband_module modules/mod_cband.so
http://cband.linux.pl/documentation --PDF文档里指定的文档路径,自动跳转到下面的url
http://codee.pl/cband_documentation.html
# vim /usr/local/apache2/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf --打开虚拟主机子配置文件
# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
NameVirtualHost *:80
DocumentRoot "/web"
ServerName 10.1.1.35
ErrorLog "logs/10.1.1.35-error_log"
CustomLog "logs/10.1.1.35-access_log" common
cbandlimit 100M --指允许的总流量,也就是到达100M后,不允许再下载
cbandperiod 1W --总流量的清0时间,1W表示1week,就是一星期内最大只允许被下载100M
cbandspeed 300 10 30 --当前时间的总带宽, 每秒可以同时连接数 最大的总连接数
cbandremotespeed 10kb/s 3 3 --每个用户下载最高速度为10k,每秒同时3个连接数,每个IP生成3个连接
SetHandler cband-status
odrer allow,deny
allow from 10.1.1.35 -- 只允许10.1.1.35访问cband-status
SetHandler cband-status-me
--这两小段是查看cband的状态信息
重启apache
在网站家目录下dd创建一个大点的文件,做下载测试
# dd if=/dev/zero of=/web/1.img bs=1M count=1000
# wget http://10.1.1.35/1.img --使用wget下载测试
并用浏览器查看
http://10.1.1.35/cband-status
和
http://10.1.1.35/cband-status-me 这两个图形化的页面
-----------------------------------------------------
增加apache最大连接数
# ab -n 10000 -c 10000 http://10.1.1.35:8080/1.img
会报socket: Too many open files (24) 的错误
# vim /etc/security/limits.conf
daemon soft nofile 20000
daemon hard nofile 20000
daemon soft nproc 20000
daemon hard nproc 20000
mysql soft nofile 20000
mysql hard nofile 20000
mysql soft nproc 20000
msyql hard nproc 20000
serverlimit 2500
StartServers 10
MinSpareServers 10
MaxSpareServers 15
MaxClients 2000
MaxRequestsPerChild 1000
[root@li Desktop]# lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
httpd 2998 root 3u IPv4 282432 TCP *:webcache (LISTEN)
httpd 2999 daemon 3u IPv4 282432 TCP *:webcache (LISTEN)
httpd 3000 daemon 3u IPv4 282432 TCP *:webcache (LISTEN)
httpd 3001 daemon 3u IPv4 282432 TCP *:webcache (LISTEN)
httpd 3002 daemon 3u IPv4 282432 TCP *:webcache (LISTEN)
httpd 3003 daemon 3u IPv4 282432 TCP *:webcache (LISTEN)
httpd 3004 daemon 3u IPv4 282432 TCP *:webcache (LISTEN)
httpd 3005 daemon 3u IPv4 282432 TCP *:webcache (LISTEN)
httpd 3006 daemon 3u IPv4 282432 TCP *:webcache (LISTEN)
httpd 3007 daemon 3u IPv4 282432 TCP *:webcache (LISTEN)
httpd 3008 daemon 3u IPv4 282432 TCP *:webcache (LISTEN)
----------------------------------------------------
mod_dosevaseive 播件防DDOS
[root@li ula]# ls /share/soft/lamp/apache_source/mod_dosevasive.1.8.tar.gz
[root@li ula]# tar xvf /share/soft/lamp/apache_source/mod_dosevasive.1.8.tar.gz -C /usr/src/
[root@li ula]# cd /usr/src/mod_dosevasive-1.8/
查看readme里有apache2.x版本的安装方法
APACHE v2.0
-----------
1. Extract this archive
2. Run $APACHE_ROOT/bin/apxs -i -a -c mod_dosevasive20.c
3. The module will be built and installed into $APACHE_ROOT/modules, and loaded into your httpd.conf
4. Restart Apache
[root@li ula]# /usr/local/apache2/bin/apxs -i -a -c /usr/src/mod_dosevasive-1.8/mod_dosevasive20.c --按照readme的方法把模块编译成DSO形式
[root@li ula]# vim /usr/local/apache2/conf/httpd.conf --编译完后,可以在apache的配置文件里找到下面这一句
LoadModule dosevasive20_module modules/mod_dosevasive20.so
[root@li ula]# vim /usr/local/apache2/conf/httpd.conf --在配置文件
--注意是有20的那段,表示的是apache2.x版本
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
[root@li ula]# /usr/local/apache2/bin/apachectl start --启动apache
测试:
用客户端firefox访问测试
发表评论
-
自动化测试框架的设计原则【转】
2012-01-20 09:46 628自动化测试框架的设计 ... -
利用 STAF 实现程序更新包的自动部署测试
2012-01-20 09:46 985利用 STAF 实现程序更新 ... -
Google App Engine Java 版上构建电子书分享网站
2012-01-20 09:45 636Google App Engine Java 版上构建电子书分 ... -
小小游戏程序员工作两年后的反思
2012-01-20 09:45 698小小游戏程序员工作两 ... -
开源C++库
2012-01-20 09:45 697开源C++库 2010年07月06日 开源C++库必须具 ... -
浅谈医院执行力不佳的原因
2012-01-19 14:52 533浅谈医院执行力不佳的 ... -
身在保险界【三十四】
2012-01-19 14:52 610身在保险界【三十四】 ... -
执一不二 跬步千里-王子密码10月份月会心得(四)
2012-01-19 14:52 988执一不二 跬步千里-王子密码10月份月会心得(四) 2010 ... -
年底装修“赶时间” 切不可盲目赶工
2012-01-19 14:52 583年底装修“赶时间” 切不可盲目赶工 2011年01月21日 ... -
WinCE驱动开发问题精华集锦
2012-01-17 04:34 636WinCE驱动开发问题精华 ... -
WinCE驱动开发问题精华集锦(一)
2012-01-17 04:34 472WinCE驱动开发问题精华 ... -
Adobe Flash Builder 4.5 Android Air 程序开发系列 之四 打开与关闭应用程序是的保存数据
2012-01-17 04:34 615Adobe Flash Builder 4.5 Android ... -
关于PHP的缓存
2012-01-17 04:34 668关于PHP的缓存 2011年05 ...
相关推荐
这是我自己搭建时总结的经验。希望大家可以看看啊
1、旧版视频教程以CentOS Linux5.5为例进行讲解,新版教程升级为CentOS Linux 6.3版本。 2、旧版视频教程定位为基础入门与系统管理,新版教程内容一是将更加丰富二是将更加细致,同时,我们也会陆续推出更多的视频...
上百万的志愿开发者为开源软件贡献自己的力量,保证了LAMP技术的不断进步和升级。开源的特性也使企业和开发人员可以随意的修改源程序为我所用,提升专有软件或者商业软件的限制中所没有的灵活性,放大了项目的衍生性...
本田CRV8寸DA升级文件,版本号 1.59。 1.更新MST785 BSP到20131010 Release版本; 2.移植部分: 1)加入IPOD相关部分,支持IPOD功能; 2)AlphaBlend函数支持; 3)更新蓝牙驱动到20131009版本; 4)WINDOWS中...
一键安装lamp。具体软件版本升级需要后续自行配置
3 nginx升级至1.2.9,apache升级至2.2.24,mysql升级至5.1.69,pureftp升级至1.0.36 4 安装脚本大量调整和优化 5 增加debian系统的支持 部分组件的可选安装,如memcache,mysqli,pdo_mysql,innodb等 具体的安装方法可见...
linux下apahce mysql php环境的搭建,centos 防火墙的开启与关闭, centos6下php版本的升级
详细的录制了LAMP的搭建过程,用使用了phpmyadmin管理mysql数据库,使用Discuz验证了lamp平台
SpringBlade 是一个由商业级项目升级优化而来的微服务架构,采用Spring Boot 2.7 、Spring Cloud 2021 等核心技术构建,完全遵循阿里巴巴编码规范。提供基于React和Vue的两个前端框架用于快速搭建企业级的SaaS多租户...
1.研究内容 调查了解LAMP架构和PHP开发; 学习百度旅游调用的其他产品线服务并熟悉请求接口; 学习社区业务层规范; 设计并实现旅游主要模块;...使用模块化设计,支持大型数据库,提供更好的技术升级空间。
TuxLite, Debian或者Ubuntu的完整 LAMP 和LNMP设置脚本 TuxLite自述文件TuxLite是一个免费的shell 脚本集合,用于快速部署用于Debian和Ubuntu的LAMP 和LNMP栈( Linux,apache/Nginx,MySQL和 PHP ) 。你认为从共享...
为CentOS / Debian / Ubuntu安装LAMP(Linux + Apache + MySQL / MariaDB / Percona Server + PHP)描述LAMP是一个功能强大的bash脚本,用于安装Apache + PHP + MySQL / MariaDB / Percona Server等。 您可以通过...
该系统可以提供完整的在线虚拟主机出售服务,包括虚拟主机的购买、续费、...本毕设将采用PHP语言作为开发语言,MySQL作为数据库,采用LAMP(Linux+Apache+MySQL+PHP)架构进行开发。同时,本毕设将采用敏捷开发方法,以
1. 升级现有软件包 sudo apt-get upgdate sudo apt-get dist-upgrade 2. 安装mysql sudo apt-get install mysql-server 安装过程中会叫你输入root用户密码,并确认。 3. 安装apache2 sudo apt-get install ...
这个折腾了我们很久,我尝试后成功解决该问题的办法: 删除缓存插件、缓存文件 给予网站目录Web Server执行权限,如果你是通过“CentOS/RedHat LAMP 一句命令”安装的环境,那么执行 chown -R apache:apache /var/...
LAMP是Linux、Apache、MySQL、PHP/Perl/Python的简称。它所组成的各组件都是开源软件,因此很方便自由的获取,导致这些组件的广泛使用,并不断完善发展,初步形成新的软件系统格局,并可能成为开源软件系统工程化的...
学习PHP当然先要具备支持PHP的服务器,虽然 LAMP 组合很不错,但是如果想要架设一台同时支持 PHP、ASP、ASP.NET、JSP、Perl 的 Web 虚拟主机服务器,还是用Windows 2003 的 IIS 6 最好。网上有很多介绍在 IIS 6 上...
LNMP代表的就是Linux下Nginx、MySQL、PHP这种网站服务器架构,相对地,LAMP代表Linux下Apache、MySQL、PHP这种网站服务器架构。 Nginx是一个小巧而高效的Linux下的Web服务器软件,已经在一些俄罗斯的大型网站上运行...
LNMP代表的就是Linux下Nginx、MySQL、PHP这种网站服务器架构,相对地,LAMP代表Linux下Apache、MySQL、PHP这种网站服务器架构。Nginx是一个小巧而高效的Linux下的Web服务器软件,已经在一些俄罗斯的大型网站上运行...
相比较而言,较为常用的一键包是军哥LNMP,至今已经1.3版本,每年都有升级和更新。个人觉得其稳定性和功能还是相当满足常规项目需要的。 我们可以利用LNMP一键包安装LNMP/LAMP/LNMPA组合环境。Nginx、Apache、MYSQL...