77范文网 - 专业文章范例文档资料分享平台

LAMP优化部署文档

来源:网络收集 时间:2018-10-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

一、系统约定 软件源代码包存放位置 源码包编译安装位置(prefix) 脚本以及维护程序存放位置 MySQL 数据库位置 Apache 网站根目录 Apache虚拟主机日志根目录 Apache 运行账户 二、系统环境部署及调整 1. 检查系统是否正常

# more /var/log/messages (检查有无系统级错误信息) # dmesg (检查硬件设备是否有错误信息) # ifconfig(检查网卡设置是否正确)

# ping www.163.com (检查网络是否正常)

2. 关闭不需要的服务 # ntsysv

以下仅列出需要启动的服务,未列出的服务一律推荐关闭: atd crond

irqbalance 合理的调配使用各个CPU核心

microcode_ctl 可编码以及发送新的微代码到内核以更新Intel IA32系列处理器守护进程 network portmap sendmail sshd syslog

3. 重新启动系统 # init 6

4. 定时校正服务器时钟,定时与中国国家授时中心授时服务器同步 # crontab -e 加入一行:

1 */6 * * * ntpdate 210.72.145.44 > /dev/null 2>&1

注:以上为公网条件下;若在内网则需要自己搭建时间同步服务器。

/usr/local/src /usr/local/software_name(software_name为软件名) /usr/local/sbin /data/mysql(默认为/var/lib/mysql,可按情况设置,此处/data分区为最大的分区) /data/www/wwwroot(可按情况设置,此处/data分区为最大的分区) /data/www/logs(可按情况设置,此处/data分区为最大的分区) www:www 5. 源码编译安装所需包(Source) (2) LibXML2

# cd /usr/local/src # tar zxvf libxml2-2.6.32.tar.gz # cd libxml2-2.6.32 # ./configure --prefix=/usr/local/libxml2 # make # make install

(3) LibMcrypt # cd /usr/local/src # tar xjvf libmcrypt-2.5.8.tar.bz2 # cd libmcrypt-2.5.8

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

# make # make install

(4) Apache日志截断程序

# cd /usr/local/src

# tar xzvf cronolog-1.7.0-beta.tar.gz # cd cronolog-1.7.0-beta

# ./configure --prefix=/usr/local/cronolog # make

# make install

(5)其他兼容包

# yum install ntp gd gd-devel libpng libpng-devel libjpeg libjpeg-devel compat-libstdc sysstat libtool-ltdl libtool-ltdl-devel pam-devel autoconf automake –y

(1)禁用 SSH V1 协议 vim /etc/ssh/sshd_config #Protocol 2,1 改为: Protocol 2

(2)禁用 DNS 域名反解 找到:

#UseDNS yes 改为: UseDNS no

最后,确认修改正确后重新启动 SSH 服务 # service sshd restart # ssh -v

确认 OpenSSH 以及 OpenSSL 版本正确。

三、编译安装L.A.M.P环境 1. 下载软件

# cd /usr/local/src httpd-2.2.11.tar.gz

mysql-5.1.34-linux-i686-icc-glibc23.tar.gz php-5.2.9.tar.gz

eaccelerator-0.9.5.3.tar.bz2 memcache-2.2.3.tgz

ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz

2. 安装MySQL

# tar xzvf mysql-5.1.34-linux-x86_64-icc-glibc23.tar.gz

# mv mysql-5.1.34-linux-x86_64-icc-glibc23 /usr/local/

# ln –s /usr/local/ mysql-5.1.34-linux-x86_64-icc-glibc23 /usr/local/mysql # useradd mysql –s /sbin/nologin –M –u 504 # chown -R mysql:root /usr/local/mysql/

# cd /usr/local/mysql

# ./scripts/mysql_install_db --user=mysql

# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld # chown root:root /etc/rc.d/init.d/mysqld # chmod 755 /etc/rc.d/init.d/mysqld

# chkconfig --add mysqld

# chkconfig --level 3 mysqld on

# cp ./support-files/my-huge.cnf /etc/my.cnf # cp /usr/local/mysql/data /data/mysql –r # chown -R mysql:mysql /data/mysql/ # vi /etc/my.cnf 修改以下内容:

在 [mysqld] 段增加或修改: datadir = /data/mysql skip-innodb wait-timeout = 5

max_connections = 512

max_connect_errors = 10000000 thread_concurrency = CPU个数×2

将 log-bin 注释(如果需要使用mysql的主从备份功能,需要log-bin参数打开,不能注释)

# bin/mysqladmin -u root password 'password_for_root'

(注:password_for_root为mysql的root帐户的密码,用户自行设定)

针对大型用户mysql优化的参数设置(供参考):

[mysqld] port = 3306 socket = /tmp/mysql.sock

datadir = /data/mysql skip-locking

skip-name-resolve skip-innodb

skip-symbolic-links local-infile=0

low_priority_updates=1 back_log = 300 key_buffer = 256M

max_allowed_packet = 16M thread_stack = 128K table_cache = 1024 sort_buffer_size = 4M read_buffer_size = 256K join_buffer_size = 4M record_buffer = 2M

read_rnd_buffer_size = 4M

myisam_sort_buffer_size = 64M thread_cache_size = 64 query_cache_size = 32M tmp_table_size = 196M max_connections = 1600

max_connect_errors = 10000000000000 wait_timeout = 5

thread_concurrency=16

long_query_time = 1

log-slow-queries = /data/mysql/slow.log

3. 编译安装Apache # cd /usr/local/src

# tar xjvf httpd-2.2.9.tar.bz2 # cd httpd-2.2.9 # ./configure \\

\ \ \

\

\ \ \ \ # make

# make install

# echo '/usr/local/apache2/bin/apachectl start ' >> /etc/rc.local

4. 编译安装PHP

在编译安装PHP之前,我们首先关闭selinux,以免编译时出现错误。

# vi /etc/selinux/config

找到:SELINUX=enforcing 改为:SELINUX=disabled

# echo '0' > /selinux/enforce

开始安装编译PHP:

# cd /usr/local/src

# tar xjvf php-5.2.6.tar.bz2 # cd php-5.2.6

#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp --with-libxml-dir=/usr/local/libxml2 --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-curl --with-mcrypt=/usr/local/libmcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-sockets --enable-exif --enable-zend-multibyte --disable-ipv6 --disable-cgi # make

# make install

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

5. 安装Eaccelerator

# cd /usr/local/src

# tar jxvf eaccelerator-0.9.5.3.tar.bz2 # cd eaccelerator-0.9.5.3 # /usr/local/php/bin/phpize # ./configure \\

--enable-eaccelerator=shared \\

--with-php-config=/usr/local/php/bin/php-config \\ --with-eaccelerator-shared-memory \\ --with-eaccelerator-sessions \\

--with-eaccelerator-content-caching # make

# make install

# mkdir /usr/local/php/ext

# cp modules/eaccelerator.so /usr/local/php/ext/

# 安装为Zend扩展

# vim /usr/local/php/etc/php.ini 插入

zend_extension=\eaccelerator.shm_size=\

eaccelerator.cache_dir=\eaccelerator.enable=\eaccelerator.optimizer=\eaccelerator.check_mtime=\eaccelerator.debug=\eaccelerator.filter=\

eaccelerator.shm_max=\eaccelerator.shm_ttl=\

eaccelerator.shm_prune_period=\eaccelerator.shm_only=\eaccelerator.compress=\

eaccelerator.compress_level=\

# mkdir /tmp/eaccelerator && chmod 0777 /tmp/eaccelerator

6. 安装memcache扩展

# wget http://pecl.php.net/get/memcache-2.2.3.tgz

# tar zxvf memcache-2.2.3.tgz # cd memcache-2.2.3

# /usr/local/php/bin/phpize

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

# make install

# cp modules/memcache.so /usr/local/php/ext/

7. 安装Zend Optimizer # cd /usr/local/src

# tar xzvf ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz # ./ ZendOptimizer-3.3.3-linux-glibc23-x86_64/install.sh 安装过程中需要指定php.ini的路径即/usr/local/php/etc 最后暂时先不要选择重启Apache。

8. 整合Apache与PHP

修改PHP配置文件:

# vim /usr/local/php/etc/php.ini 找到:

extension_dir = \改为:

extension_dir = \找到:

;extension=php_zip.dll 在该行下添加

extension=memcache.so

修改完成后保存退出。

修改Apache配置文件:

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

找到:

AddType application/x-gzip .gz .tgz 在该行下面添加

AddType application/x-httpd-php .php

找到:

DirectoryIndex index.html 将该行改为

DirectoryIndex index.php index.html index.htm

找到:

User daemon Group daemon 改为: User www

Group www

找到:

Options FollowSymLinks AllowOverride None Order deny,allow Deny from all

将其中的Deny from all改为Allow from all

找到:

#Include conf/extra/httpd-mpm.conf #Include conf/extra/httpd-info.conf #Include conf/extra/httpd-vhosts.conf #Include conf/extra/httpd-default.conf 去掉前面的“#”号,取消注释。

注意:以上 4 个扩展配置文件中的设置请按照相关原则进行合理配置!

修改完成后保存退出。

添加www用户,用来运行Apache

# useradd www –s /sbin/nologin –M –u 505

重启Apache

# /usr/local/apache2/bin/apachectl restart

根据虚拟主机中网站路径的设置(例如/data/www/wwwroot),测试是否配置成功

# cd /data/www/wwwroot # vi phpinfo.php

Phpinfo (); ?>

退出并保存。

访问http://IP地址/phpinfo.php,检查phpinfo中的各项信息是否正确。 注:有时无法访问是因为系统开启了防火墙,建议关闭,设置自己的防火墙策略(例如“三 服务器安全设置”中的设置),或者使用硬件防火墙。

9. 提升PHP安全性

在 php.ini 中进行设置提升 PHP 安全性。 vim /usr/local/php/etc/php.ini

找到并修改以下几处设置为:

upload_tmp_dir = /tmp

expose_php = Off

display_errors = Off

disable_functions = phpinfo,putenv,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

10. 提升Apache安全性及优化

进入Apache配置文件目录/usr/local/apache2/conf/extra # cd /usr/local/apache2/conf/extra

编译部分配置文件: # vi httpd-mpm.conf

找到并更更改以下内容:

ServerLimit 2048 StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 1024 MaxRequestsPerChild 0

注:添加ServerLimit这行参数,根据网站的访问量相应的调整ServerLimit和MaxClients两项参数,MaxClients值不能大于ServerLimit的值。

# vi httpd-default.conf

KeepAlive Off

注:此处默认为Off,用户可根据前端负载均衡器的配置中是否保持会话连接来选择开启或关闭,建议一般用户设置为Off

修改以下参数为:

ServerTokens Prod

ServerSignature off

vim /usr/local/apache2/conf/extra/httpd-info.conf 将配置文件中下面一段修改为如下: SetHandler server-status Order deny,allow Deny from all Allow from all

ExtendedStatus On

修改以上PHP与 Apache相关设置后需要重启Apache服务器。

三、服务器安全性设置 1. 设置系统防火墙

# vi /usr/local/sbin/fw.sh

将以下脚本命令粘贴到 fw.sh 文件中。 #!/bin/bash

# Stop iptables service first service iptables stop

# Inital chains default policy /sbin/iptables -F -t filter

/sbin/iptables -P INPUT DROP

/sbin/iptables -P OUTPUT ACCEPT

# Enable Native Network Transfer

/sbin/iptables -A INPUT -i lo -j ACCEPT

# Accept Established Connections

/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# ICMP Control

/sbin/iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT

# WWW Service

/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# SSH Service

/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# chmod 755 /usr/local/sbin/fw.sh

# echo '/usr/local/sbin/fw.sh' >> /etc/rc.local # /usr/local/sbin/fw.sh

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库LAMP优化部署文档在线全文阅读。

LAMP优化部署文档.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/236413.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: