发布时间:2015-09-13 22:06:29作者:知识屋
很久没配置过服务器,走了不少弯路,有些参数变化,搜索到的网上文档也没有更新,故此记录自查。
版本的选择:
线上系统一个重要原则就是绝对不能用最新版本,因为没经过时间和市场的考验,安装量小,出故障后很难得到他人的帮助,如果没有独自的内核级开发能力就别当小白鼠了。
要使用当下普遍安装且稳定成熟的老版本,本次的三个版本均源自论坛、QQ群等多方调查,多家公司线上均在使用,是目前比较成熟但又不会过于老旧的“老版本”。
一、准备工作:
1、禁用SeLinux (selinux可能会致使编译安装失败,先禁用)
getenforce #查看状态setenforce 0 #临时禁用,不需重启# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #永久禁用,需重启生效
2、Yum换源
vim /etc/resolv.confnameserver 180.76.76.76 #百度开源DNSyum -y install wgetcd /etc/yum.repos.dmv CentOS-Base.repo CentOS-Base.repo.bak #备份wget http://mirrors.163.com/.help/CentOS6-Base-163.repo #换用163源yum install epel-release #扩展更新包yum makecache #生成缓存# yum -y upgrade #更新所有软件包,不更改系统核心及软件包配置(非必须,酌情)
4、安装必要模块
# 依赖关系yum install -y wget gcc gcc-c++ make automake autoconf kernel-devel ncurses-devel libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel pcre-devel libtool-libs freetype-devel gd zlib-devel file bison patch mlocate flex diffutils readline-devel glibc-devel glib2-devel bzip2-devel gettext-devel libcap-devel libmcrypt-devel
5、安装cmake2.8
# 默认下载到/root目录下cd /root wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gztar -zxvf cmake-2.8.10.2.tar.gzcd cmake-2.8.10.2./bootstrap # 若报错,则根据报错补全对应依赖包后,rm ./cmake-2.8.10.2/CMakeCache.txt,重新进行本步骤。gmake && gmake install
6、卸载yum或rpm安装的软件,卸载前注意备份配置文档和数据!
rpm -e httpdrpm -e mysqlrpm -e phpyum -y remove httpdyum -y remove phpyum -y remove mysql-server mysqlyum -y remove php-mysql
7、建立相关的目录、账号
# Apachemkdir /usr/local/apachegroupadd apacheuseradd -g apache mysql# PHPmkdir /usr/local/php# Mysqlmkdir /usr/local/mysqlmkdir /data/mysqldatagroupadd mysqluseradd -g mysql mysql
二、安装Apache 2.2.26
# 默认下载到/root,下同cd /root wget http://archive.apache.org/dist/httpd/httpd-2.2.26.tar.gztar zxvf httpd-2.2.26.tar.gzcd httpd-2.2.26# 编译./configure --prefix=/usr/local/apache --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-headers=shared --enable-rewrite=shared --enable-static-support# makemake && make install#--------------------------------------------------------------------------------------# 安装完成后的配置:cp ./build/rpm/httpd.init /etc/init.d/httpd #使用init脚本管理httpdchmod 755 /etc/init.d/httpd #增加其执行权限chkconfig --add httpd #添加httpd到服务项chkconfig httpd on #设置开机启动chown -R apache:apache /usr/local/apache/htdocs #更改目录权限# 设置软链接以适应init脚本ln -fs /usr/local/apache/ /etc/httpdln -fs /usr/local/apache/bin/httpd /usr/sbin/httpdln -fs /usr/local/apache/bin/apachectl /usr/sbin/apachectlln -fs /usr/local/apache/logs /var/log/httpd
三、安装Mysql 5.6.16
# 默认下载到/root目录cd /root wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gztar -zxvf mysql-5.6.16.tar.gzcd mysql-5.6.16# 编译cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysqldata -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci# makemake && make install#--------------------------------------------------------------------------------------# 配置 & 初始化cp ./support-files/my-default.cnf /etc/my.cnfchown -R mysql:mysql /data/mysqldata/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqldata/usr/local/mysql/bin/mysqld_safe --user=mysql &/usr/local/mysql/bin/mysqladmin -uroot password mypassword# 加入到系统服务cp ./support-files/mysql.server /etc/rc.d/init.d/mysqldchmod 700 /etc/init.d/mysqldchkconfig --add mysqldchkconfig mysqld on
四、安装PHP 5.3.28
# 默认下载到/root目录cd /root wget http://cn2.php.net/distributions/php-5.3.28.tar.bz2tar -jxvf mysql-5.6.16.tar.gzcd php-5.3.28# 编译 /configure --prefix=/usr/local/php -with-apxs2=/usr/local/apache/bin/apxs --with-curl --with-mcrypt --enable-mbstring --with-iconv --with-gd -with-jpeg-dir=/usr/local/lib --enable-pdo --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd
关于mysqlnd参见:PHP 5.3.0以上推荐使用Mysqlnd驱动,以及:Mysqlnd主从复制和负载均衡插件
# make make && make install
*Apache与PHP的整合:
# 修改apache配置文件,关键字搜索定位并进行修改vi /usr/local/apache/conf/httpd.conf ServerAdmin ******@****.com #管理员邮箱,服务器任何问题都将发信,如错误报告 DocumentRoot "/usr/local/apache/htdocs" #修改webroot Options FollowSymLinks MultiViews #安全起见去掉"Indexes" # 添加对PHP的支持 DirectoryIndex default.php index.php default.html default.htm AddHandler application/x-httpd-php .php# 修改PHP配置文件vi /etc/php.ini register-golbals = On# 启动apache/usr/local/apache/bin/apachectl start
五、功能测试
sed -i '' /usr/local/apache/htdocs/index.php #生成测试页并访问#若报错,根据错误号及提示去搜索相关解决方案
六、参数调优
MySql 参数建议:
PERCONA CONFIGURATION WIZARD FOR MYSQL(需注册)
从运维角度浅谈MySQL数据库优化
内存优化:
TCMalloc (google-perftools)-开源中国
Hugepage
以及:
系统性能调优
等等……
七、压力测试(略)
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能