LAMP-Apache服务器安装配置

安装Apache2.2.27:

-------------------------------------------------

cd /soft
wget http://soft.local.com/httpd-2.2.27.tar.gz
tar zxf httpd-2.2.27.tar.gz
cd httpd-2.2.27
./configure --prefix=/usr/local/apache2.2.27 --enable-deflate  --enable-expires  --enable-headers  --enable-modules=most  --enable-so  --with-mpm=worker --enable-rewrite --enable-ssl
make
make install
ln -s /usr/local/apache2.2.27/ /usr/local/apache
useradd apache -s /sbin/nologin -M
/usr/local/apache/bin/apachectl -l
/usr/local/apache/bin/apachectl -M
/usr/local/apache/bin/apachectl start|stop|restart|graceful
mkdir /var/www/html/{www,bbs,blog} -p
for name in `ls /var/www/html/`;do echo $name > /var/www/html/$name/index.html;done
for name in `ls /var/www/html/`;do cat /var/www/html/$name/index.html;done
ll /usr/local/apache/conf/httpd.conf
tail -100 /usr/local/apache/logs/error_log
egrep -v '^.*#|^$' conf/httpd.conf |nl
echo "Include conf/extra/httpd-vhosts.conf" >> /usr/local/apache/conf/httpd.conf
/usr/local/apache/bin/apachectl -t
/usr/local/apache/bin/apachectl graceful

安装Apache2.4.9

--------------------------------------------------------------

cd /soft
wget http://soft.local.com/httpd-2.4.9.tar.gz
wget http://soft.local.com/apr-1.4.5.tar.gz
wget http://soft.local.com/apr-util-1.3.12.tar.gz
wget http://soft.local.com/pcre-8.10.zip
cd /softtar zxf apr-1.4.5.tar.gzcd  apr-1.4.5./configure --prefix=/usr/local/aprmake
make install
cd /softtar zxf apr-util-1.3.12.tar.gzcd apr-util-1.3.12./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-configmake
make install
cd /soft
yum -y install unzip
unzip pcre-8.10.zip
cd pcre-8.10
./configure --prefix=/usr/local/pcre
make
make install
cd /soft
tar zxf httpd-2.4.9.tar.gz
cd httpd-2.4.9
./configure --prefix=/usr/local/apache2.4.9 --enable-deflate  --enable-expires  --enable-headers  --enable-modules=most  --enable-so  --with-mpm=worker --enable-rewrite --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
make
make install
ln -s /usr/local/apache2.4.9/ /usr/local/apache
useradd apache -s /sbin/nologin -M
/usr/local/apache/bin/apachectl -l
/usr/local/apache/bin/apachectl -M
/usr/local/apache/bin/apachectl start|stop|restart|graceful
mkdir /var/www/html/{www,bbs,blog} -p
for name in `ls /var/www/html/`;do echo $name > /var/www/html/$name/index.html;done
for name in `ls /var/www/html/`;do cat /var/www/html/$name/index.html;done
ll /usr/local/apache/conf/httpd.conf
tail -100 /usr/local/apache/logs/error_log
egrep -v '^.*#|^$' conf/httpd.conf |nl
echo "Include conf/extra/httpd-vhosts.conf" >> /usr/local/apache/conf/httpd.conf
/usr/local/apache/bin/apachectl -t
/usr/local/apache/bin/apachectl graceful

=======================================================================

开始安装PHP

建议安装5.3.8以上的版本,因为5.2的版本有漏洞,需要单独打补丁

似乎5.3.28版本有问题

安装PHP5.3.15

---------------------------

cd /soft
wget http://soft.local.com/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14./configure --prefix=/usr/local/libiconv
make
make install
yum -y install zlib libxml libjpeg freetype libpng \
gd gd2 gd-devel gd2-devel curl curl-devel libiconv \
zlib-devel libxml2 libxml2-devel libjpeg-devel \
freetype-devel libpng-devel gd-devel curl-devel \
libxslt libxslt-devel ncurses ncurses-devel
cd /soft
wget http://soft.local.com/php-5.3.15.tar.gz
tar zxf php-5.3.15.tar.gz
cd php-5.3.15
./configure \
--prefix=/usr/local/php5.3.15 \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--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 \
--with-xsl \
--enable-ftp \
--with-libxml-dir
make
make install

#对于PHP5.3以上版本可以使用--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 代替--with-mysql=/usr/local/mysql

#这样就不用单独在web服务器上安装完整的mysql了

#PHP5.4版本就已经默认使用mysqlnd作为连接mysql的工具了

ln -s /usr/local/php5.3.15 /usr/local/php
cd /soft/php-5.3.15
/bin/cp /soft/php-5.3.15/php.ini-production /usr/local/php5.3.15/lib/php.ini
vim /usr/local/apache/conf/httpd.conf +98
ServerName 127.0.0.1:80
vim /usr/local/apache/conf/httpd.conf +311
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
vim /usr/local/apache/conf/httpd.conf +166
DirectoryIndex index.html index.php

------------------------------------------------------------

安装PHP5.5.13

-----------------------------------------

cd /soft
wget http://soft.local.com/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14./configure --prefix=/usr/local/libiconv
make
make install
yum -y install zlib libxml libjpeg freetype libpng gd gd2 gd-devel gd2-devel curl curl-devel libiconv zlib-devel libxml2 libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel libxslt libxslt-devel ncurses ncurses-devel
wget http://soft.local.com/php-5.5.13.tar.gz
tar zxf php-5.5.13.tar.gz
cd php-5.5.13
./configure \
--prefix=/usr/local/php5.5.13 \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-xmlrpc \
--with-openssl \
--with-zlib \
--with-freetype-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-iconv=/usr/local/libiconv \
--enable-opcache \
--enable-short-tags \
--enable-sockets \
--enable-soap \
--enable-mbstring \
--enable-static \
--enable-gd-native-ttf \
--with-curl \
--with-xsl \
--enable-ftp \
--with-libxml-dir
make
make install

##--enable-zend-multibyte \   ###可以加上

#--enable-opcache会把opcache.so模块直接放到模块目录,不用再单独安装了

ln -s /usr/local/php5.5.13 /usr/local/php
cd /soft/php-5.5.13
/bin/cp /soft/php-5.5.13/php.ini-production /usr/local/php/lib/php.ini5.5.13
vim /usr/local/apache/conf/httpd.conf +98
ServerName 127.0.0.1:80
vim /usr/local/apache/conf/httpd.conf +311
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
vim /usr/local/apache/conf/httpd.conf +166
DirectoryIndex index.html index.php

配置一个PHP页面做测试,php就相当.net中的asp

----------------------------------------------------

echo -e "<?php\nphpinfo();\n?>" >/var/www/html/index.php

http://www.local.com

测试php链接mysql

-----------------------------------------------------

mysql -usqladmin -p'123456' -e "grant select on mysql.user to 'testuser'@'192.168.1.%' identified by '123456';"
mysql -usqladmin -p'123456' -e "flush privideges;"

#mysql服务器上配置测试参数

vim /var/www/html/www/php_mysql.php

-----------------------------------------------------------

<?php

//$link_id=mysql_connect('主机名','用户','密码');

//$link_id=mysql_connect('localhost','test','');

$link_id=mysql_connect('192.168.1.16','sqladmin','123456') or mysql_error();

if($link_id){

echo "mysql successfull!";

}

else{

echo mysql_error();

}

?>

http://www.local.com/php_mysql.php

PHP扩展插件

=========================================================================

1.对于php加速插件,生产环境只要安装一个就好;eacc,xcache,opcache,我建议安装opcache,简单

2.其他功能插件根据开发的要求再安装,memcache,imagick,pdo_mysql

配置eAccelerator为php提供加速

-----------------------------------------

eAccelerator是一个自由开放源码php加速器

优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。

它还有对脚本起优化作用,以加快其执行效率

eaccelerator无法兼容php5.5.0

echo 'export LC_ALL=C' >> /etc/profile
source /etc/profile
cd /soft
wget http://soft.local.com/eaccelerator.tar.gz
tar zxf eaccelerator.tar.gz
cd eaccelerator
/usr/local/php/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config
make
make install

配置Zend OPcache为php提供加速

-----------------------------------------------------------------------------------------------------

Zend OPcache支持php5.3,php5.4,php5.5

需要在安装php5.5时启用--enable-opcache

查看opcache.so模块是否存在,

cd /soft
wget http://soft.local.com/zendopcache-7.0.2.tgz
tar zxf zendopcache-7.0.2.tgz
cd zendopcache-7.0.2
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
ll /usr/local/php5.3.15/lib/php/extensions/no-debug-zts-20090626/

#phpize用来扩展php模块,通过phpize可以建立php的外挂模块

#在编译要添加的外挂模块前,执行以下phpize就可以了

配置XCache为php提供加速

-------------------------------------------

XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能

通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程

能够直接使用缓冲区已编译的代码从而提高速度

通常能够提高您的页面生成速率 2 到5 倍, 降低服务器负载

XCache官方网站: http://xcache.lighttpd.net/

当前稳定版本: 3.2.x (全面支持 5.1 ~ 5.6)    XCache 3.2.0

当前稳定版本: 3.1.x (全面支持 5.1 ~ 5.5)    XCache 3.1.2

http://xcache.lighttpd.net/wiki/ReleaseArchive

各稳定版本分支,版本太多了

cd /soft
wget http://soft.local.com/xcache-3.1.2.tar.gz
tar zxf xcache-3.1.2.tar.gz
cd xcache-3.1.2
/usr/local/php/bin/phpize
./configure  --enable-xcache --with-php-config=/usr/local/php/bin/php-config
make
make install
ll /usr/local/php5.3.15/lib/php/extensions/no-debug-zts-20090626/
cat xcache.ini >> /etc/php.ini

安装memcache的客户端

----------------------------------------

各个版本的memcache客户端介绍

1.php开发出来memcache(服务端)的client(客户端) ,这个client叫做memcache(客户端).

这个客户端以pcel形式发布: http://pecl.php.net/package/memcache

另外,php手册上对于memcache的使用:http://www.php.net/manual/en/memcache.examples-overview.php 的例子也是基于这个client的。

2.09年的时候,Brian Aker开发出了一个基于c/c++ 的memcache的客户端,叫做libmemcache

官网:http://libmemcached.org/libMemcached.html

这个client维护更新很快,并且功能效率等都比php那个memcache(客户端)要好

3.php又弄出一个基于libmemcache的client,非常不幸这个client叫做memcached(客户端)

也是以pcel形式发布:http://pecl.php.net/package/memcached

这个client的特点基本跟 libmemcache差不多

参考资料:http://blog.csdn.net/aylazhang/article/details/6935569

cd /soft
wget http://soft.local.com/memcache-2.2.5.tgz
tar zxf memcache-2.2.5.tgz
cd memcache-2.2.5
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --enable-memcache --with-zlib-dir
make&&make install
ll /usr/local/php5.3.15/lib/php/extensions/no-debug-zts-20090626/

安装PDO_MYSQL扩展模块

------------------------------------------------------

PDO_MYSQL扩展为PHP访问数据库定义了一个轻量级的一致性的接口

它提供了一个数据访问抽象层,这样无论用什么数据库,php都可以通过一致性函数执行查询并获取数据

已经默认在PHP5的源码里面了,因此不需要再单独安装了,实验证明确实如此

cd /soft
wget http://soft.local.com/PDO_MYSQL-1.0.2.tgz
tar zxf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2/
ln -s /usr/local/mysql/include/* /usr/local/include/
/usr/local/php/bin/phpize
./configure  --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
make
make install
ll /usr/local/php5.3.15/lib/php/extensions/no-debug-zts-20090626/

安装ImageMagick图像软件

---------------------------------------------

ImageMagick是一套功能强大、稳定而且开源的工具集和开发包

可以用来读、写和处理超过89种基本格式的图片文件

包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式

利用ImageMagick,你可以根据web应用程序的需要动态生成图片

还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作

并将操作的结果以相同格式或其它格式保存

对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成

同时ImageMagick提供了一个高质量的2D工具包,部分支持SVG

ImageMagic的主要精力集中在性能,减少bug以及提供稳定的API和ABI上

ImageMagick 是一个用来创建、编辑、合成图片的软件

它可以读取、转换、写入多种格式的图片

图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线, 多边形,椭圆,曲线,附加到图片伸展旋转

ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布。支持大多数的操作系统

安装ImageMagick软件本身:

cd /soft
wget http://soft.local.com/ImageMagick-6.8.9-8.tar.gz
tar zxf ImageMagick-6.8.9-8.tar.gz
cd ImageMagick-6.8.9-8
./configure
make && make install

在PHP中调用ImageMagick:

cd /soft
wget http://soft.local.com/imagick-3.1.2.tgz
tar zxf imagick-3.1.2.tgz
cd imagick-3.1.2
/usr/local/php/bin/phpize
./configure  --with-php-config=/usr/local/php/bin/php-config
make
make install
ll /usr/local/php5.3.15/lib/php/extensions/no-debug-zts-20090626/

##Imagick php扩展插件  http://pecl.php.net/package/imagick

安装加密软件

--------------------------------------------

一.首先安装加密软件的库和软件

安装libmcrypt加密库文件

---------------------------------------

cd /soft
wget "http://soft.local.com/libmcrypt-2.5.8.tar.gz"
tar zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make
make install

安装mhash加密扩展库

----------------------------------

Mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启

1该扩展不能提供最新的哈希算法。

2.该扩展结果原则上运算不可逆。

cd /soft
wget "http://soft.local.com/mhash-0.9.9.9.tar.gz"
tar zxf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make
make install

安装mcrypt加密扩展库

-------------------------------------------------

Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。

mcrypt 是 php 里面重要的加密支持扩展库,该库在默认情况下不开启。

cd /soft
wget "http://soft.local.com/mcrypt-2.6.8.tar.gz"
tar zxf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
LD_LIBRARY_PATH=/usr/local/lib
/sbin/ldconfig
./configure
make
make install

##LD_LIBRARY_PATH=/usr/local/lib ./configure

二.安装php中的插件调用加密软件

cd /soft/php-5.3.15/ext/mcrypt/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

#下面两行可能需要做

mkdir /etc/php.d
echo 'extension=mcrypt.so' > /etc/php.d/mcrypt.ini

启用插件

---------------------------------------------

需要在php.ini的配置文件中修改配置参数启用

ll /usr/local/php5.3.15/lib/php/extensions/no-debug-zts-20090626/
sed -i 's#; extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626/"#g'  /usr/local/php/lib/php.ini
grep "extension_dir =" /usr/local/php/lib/php.ini | head -1
cat >> /usr/local/php/lib/php.ini << EOF
;by yujianbo 2014-07-03
;extension = imagick.so
;extension = memcache.so
;extension = pdo_mysql.so
;extension = mcrypt.so
EOF
tail -5  /usr/local/php/lib/php.ini

#启用imagick.so,memcache.so,mcrypt.so插件,缓存插件单独启用

配置启用eaccelerator插件

-------------------------------------------------

配置启用eaccelerator插件

mkdir -p /tmp/eaccelerator

#实际环境中建议使用单独的SSD,或者内存来存储该目录

chown -R apache:apache /tmp/eaccelerator

#这个用户是在apache的配置文件中定义的

配置eaccelerator的参数,修改 /application/php/lib/php.ini

----------------------------------------------------------------

cat >> /usr/local/php/lib/php.ini<<EOF
;By yujianbo eaccelerator
[eaccelerator]
extension=eaccelerator.so
eaccelerator.shm_size="64"
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="3600"
eaccelerator.shm_prune_period="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
EOF

----------------------------------------------

/usr/local/php/bin/php -v

#查看php的版本信息可以看到eaccelerator的信息

tree /tmp/eaccelerator

#可以查看到生成的临时目录

-------------------------------------------

配置启用opcache插件

-------------------------------------------------

cat >> /usr/local/php/lib/php.ini <<EOF
;Zend Opcache Conf
zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20090626/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
EOF

https://gist.github.com/ck-on/4959032

#网页上有一个检测opcache的php脚本,可以看到opcache的命中率等信息

配置启用XCache插件

-------------------------------------------------

echo >>/usr/local/php/lib/php.ini
echo ';XCache Conf Begin' >>/usr/local/php/lib/php.ini
tail -2 /usr/local/php/lib/php.ini
cat /soft/xcache-3.1.2/xcache.ini >> /usr/local/php/lib/php.ini
echo ';XCache Conf End' >>/usr/local/php/lib/php.ini
sed -i 's#; extension = xcache.so#extension = xcache.so#g' /usr/local/php/lib/php.ini
sed -i 's#xcache.size  =               60M#xcache.size  =               128M#g' /usr/local/php/lib/php.ini
sed -i 's#xcache.count =                 1#xcache.count =                 4#g' /usr/local/php/lib/php.ini
sed -i 's#xcache.ttl   =                 0#xcache.ttl   =                 86400#g' /usr/local/php/lib/php.ini
sed -i 's#xcache.gc_interval =           0#xcache.gc_interval =          3600#g' /usr/local/php/lib/php.ini
sed -i 's#xcache.var_size  =            4M#xcache.var_size  =            0#g' /usr/local/php/lib/php.ini
vim  /usr/local/php/lib/php.ini

#xcache.count 的数量取决于CPU的核数;cat /proc/cpuinfo |grep -c processor

配置启用mcrypt,mhash插件

-------------------------------------------------

--------------------------

LAMP的优化


http://www.it165.net/os/html/201311/6637.html

#文章写的非常好

1.日志轮询工具

-----------------------------------

cd /soft
wget http://soft.local.com/cronolog-1.6.2.tar.gz
tar zxf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure --prefix=/usr/local/cronolog
make
make install
vim /usr/local/apache/conf/httpd.conf
CustomLog "|/usr/local/cronolog/sbin/cronolog /usr/local/apache/logs/access_%Y%m%d%H.log" combined

#%w按周,会自动覆盖,保留一周

#注意全部用全路径,生产环境可将日志单独放到一个文件夹或磁盘里

##需要将原来的CustomLog那一行日志命令去掉,注释掉

2.错误页面优雅显示

-------------------------------------

vim /usr/local/apache/conf/httpd.conf +350
ErrorDocument 500 "The server made a boo boo."
ErrorDocument 404 /missing.html
ErrorDocument 404 "/cgi-bin/missing_handler.pl"
ErrorDocument 402 http://www.example.com/subscription_info.html
ErrorDocument 403 http://www.example.com/subscription_info.html
ErrorDocument 503 http://www.example.com/subscription_info.html
ErrorDocument 504 http://www.example.com/subscription_info.html

3.配置mod_expires

----------------------------------

1.附加在vim /usr/local/apache/conf/httpd.conf   #全局配置

附加在vim /usr/local/apache/conf/extra/httpd-vhosts.conf  #在虚拟机配置里面只对该虚拟机生效

附加在vim /usr/local/apache/conf/httpd.conf   #文件目录里只对该文件目录里的文件生效

ExpiresActive onExpiresDefault "access plus  30 seconds"ExpiresByType text/html "access plus 12 months"ExpiresByType text/css "access plus 12 months"ExpiresByType p_w_picpath/gif "access plus 12 months"ExpiresByType p_w_picpath/jpeg "access plus12  12 months"ExpiresByType p_w_picpath/jpg "access plus 12 months"ExpiresByType p_w_picpath/png "access plus 12 months"EXpiresByType application/x-shockwave-flash "access plus 12 months"EXpiresByType application/x-javascript "access plus 12 months"ExpiresByType video/x-flv "access plus 12 months"

##ExpiresByType video/x-flv "access plus 12 months"对video的x-flv格式文件,过期时间是访问时间+12个月,plus是“+”的意思

##ExpiresDefault设置成较小的值,如1分钟、30秒之类的来提升网站的速度

4.配置mod_deflate,修改文件压缩功能

----------------------------------------------------

附加在vim /application/apache/conf/httpd.conf   #全局配置

附加在vim /application/apache/conf/extra/httpd-vhosts.conf  #在虚拟机配置里面只对该虚拟机生效

<ifmodule mod_deflate.c>DeflateCompressionLevel 9SetOutputFilter DEFLATEAddOutputFilterByType DEFLATE text/html text/plain text/xmlAddOutputFilterByType DEFLATE application/javascriptAddOutputFilterByType DEFLATE text/css
</ifmodule>

----------------------------------------------

5.建议将apache默认用户修改成一个陌生的,比如abcdqwe

6.编译安装时,建议使用worker模式,--with-mpm=worker

--------------------------------------------------------------------

1. 在主配置文件里将打开Include conf/extra/httpd-mpm.conf启用

2. 然后vim /usr/local/apache/conf/extra/httpd-mpm.conf

<IfModule mpm_worker_module>    StartServers         5    MaxClients           2000    ServerLimit          25    MinSpareThreads      50    MaxSpareThreads      200    ThreadLimit          200    ThreadsPerChild      100    MaxRequestsPerChild   0</IfModule>
<IfModule mpm_prefork_module>    StartServers          10    MinSpareServers       10    MaxSpareServers       15    ServerLimit           2000    MaxClients            2000    MaxRequestsPerChild   10000</IfModule>

#prefork模式使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接

#worker模式使用多个子进程,每个子进程有多个线程。每个线程在某个确定的时间只能维持一个连接

7.网站权限架构优化

---------------------------------

网站架构,应该把图片文件,上传附件,资源文件(CSS,JS,XML),网站程序文件分离

方便做读写分离,授权等

网站属主设置成:chown -R root:root  /var/www/html

网站目录建议设置成: find /var/www/html/ -type d | xargs chmod -R  755

网站文件建议设置成:find /var/www/html/ -type f | xargs chmod -R  644

允许上传的目录设置成:chown -R apache:apache /var/www/html/www/upload;chmod -R 700 var/www/html/www/upload

8.防盗链

--------------------------------------------------------

1.request header有一个referer字段,用来标识用户浏览器当前访问页面的主机名

因此只需要判断一个request header的referfer字段是否跟当前网页一致就可判断是否盗链了

haproxy可以根据hdr(referer)来判断防止盗链,已经确认

acl invalid_referer hdr_sub(referer) -i -f /opt/haproxy/etc/bad_ref.conf

apache也有此功能,rewrite_module

2.light也有一个防盗链功能

可以设置一个临时生效的url,过一定时间后就会过期

在看优酷时,长时间暂停一个视频,会导致看不了,TCP链接断开?

在访问一个视频资源时,肯定存在一个真正的URL,但他会返回一个加密过的URL给你,过期失效

有时被盗链会引起流量加大,可以相对的把图片变小暂时解决问题

9.禁止目录浏览,禁止目录重载,关闭CGI

10.修改日志文件权限

----------------------------

chown -R root:root /usr/local/apache/logs
chmod -R 700 /usr/local/apache/logs

#对日志的读写功能,运行apache的用户有权限

#如apache以普通用户权限运行,则可以设置成对普通用户授权即可

11.减少http的请求数,提高网页速度

-------------------------------------------

1.将一个页面中的的css,js等,开发时分开开发,在后台进行合并

2.对于首页文件可以考虑将css,js直接写到页面文件里面

3.合并图片,www.csssprites.com 一个可以将多张图片合成的工具网站

12.推荐CDN加速,一般可以认为不再使用本地的前端缓存服务器了

13.隐藏apache版本号

------------------------

vim /soft/httpd-2.2.27/include/ap_release.h

#在编译前修改源码文件

Include conf/extra/httpd-default.conf
vim /usr/local/apache/conf/extra/httpd-default.conf
ServerTokens Prod
ServerSignature Off

#启用httpd-default.conf,禁止显示版本号或者直接显示成别的自定义的内容

14

转载于:https://blog.51cto.com/yjb007/1563848

LAMP-Apache服务器安装配置相关推荐

  1. 显示并解析动态服务器值,Apache服务器安装配置

    Apache服务器安装 1.Apache服务器安装 在Linux系统下,apache服务器的安装方式比较灵活,可以使用二进制包安装,比如:rpm包.deb包.已编译好的包.也可以简单的使用yum工具进 ...

  2. CentOS 7.0服务器安装配置LAMP服务器

    这篇文章主要介绍了CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB),需要的朋友可以参考下 准备篇: CentOS 7.0系统安装配置图解教程 //www.iis ...

  3. centos 6.5 安装 lamp 后mysql不能启动_CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境...

    CentOS6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境 准备篇: 1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables -A ...

  4. Apache Tomcat服务器安装配置和部署运行

    Apache Tomcat服务器安装配置和部署运行 在Windows 64位系统上安装配置和部署运行Apache Tomcat服务器. 1,先下载适应于64为Windows操作系统的Tomcat服务器 ...

  5. apache http配置https

    apache http配置https <一,Lamp系统搭建> yum install httpd httpd-devel mysql mysql-server mysql-devel p ...

  6. 安装ftp连接linux服务器配置,Linux下FTP安装及配置(VSFTPD服务器安装配置、FTP客户端安装配置)...

    安装说明 安装环境:CentOS-6.3 安装方式:yum安装.rpm源码安装 软件:ftp-0.17-51.1.el6.x86_64.rpm 下载地址:http://pan.baidu.com/s/ ...

  7. LINUX下的APACHE的配置

    今天写一下LINUX下的APACHE的配置方法. APACHE是作为WEB服务器的.它的优点在于用缓存方式来加快网页的搜索速度. APACHE缺省只支持静态网页 LINUX下有APACHE的RPM包 ...

  8. apache+tomcat配置

    无意间看到tomcat 6集群的内容,就尝试配置了一下,还是遇到很多问题,特此记录.apache服务器和tomcat的连接方法其实有三种:JK.http_proxy和ajp_proxy.本文主要介绍最 ...

  9. 海外ubuntu,lamp,ftp,phpmyadmin配置

    海外ubuntu,lamp,ftp,phpmyadmin配置 1. 更换源 1.1 clean /etc/apt/sources.list file 1.2 Ubuntu Sources List G ...

最新文章

  1. 何新生—你是哪国人?
  2. CWNA考试常见RF术语
  3. 星辰大海:阿里数据体验技术揭秘!
  4. 深入理解.net服务器控件
  5. ctk编译linux,CTK插件框架学习5-插件间通信(Netlink实现热拔插监控)
  6. 预训练模型对实体的表示能力差?一个简单有效的解法来了!(开源)
  7. python怎么一直循环_python 基础之while无限循环
  8. python--------进程与线程
  9. 网络运维超融合服务器,15. 通过 Openfiler 软件:配置 ISCSI 和
  10. mfc groupbox 边框颜色_蓝色牛仔裤配什么颜色上衣好看
  11. python制作个人相册_这样精美的照片墙,其实python也能做
  12. koa2 mysql项目教程_blogs: Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站...
  13. 数据结构学习篇(一)---大纲、简介、作用
  14. 关于小米手机修改开发者模式中最小宽度无限重启的问题
  15. 夏普科学计算机标准差,疯狂期货夏普比率公式里面标准差实际应该怎么算
  16. 时间序列分析 | 相似性度量基本方法
  17. ppt无损转图片jpg,pdf api
  18. 软件开发生命周期-2-每个阶段的利益相关方
  19. QQ登录接口申请流程(全面)
  20. 【项目分享~写给应届生的一篇文章】基于Web电影院购票系统 ~~ 选座模块

热门文章

  1. ai背景合成_哪个小姐姐是假的?是 AI 合成的?
  2. ftp lftp 客户端设置_【整理】Linux FTP客户端 Lftp 使用方法
  3. 关于Oracle数据库删除表空间后磁盘空间不释放的问题
  4. 【ORACLE】删除表空间,没有删除数据文件怎么办?解决办法
  5. CorelDRAW软件安装常见问题
  6. 顺序查找(线性表的查找)
  7. Promethus(普罗米修斯)监控随笔
  8. android引导页自动轮播,Android使用ViewPager实现自动轮播
  9. S9全球总决赛全网直播,腾讯云成最强辅助
  10. 做外贸,客户聊着聊玩失踪,如何激活不回复的客户?