23e21e 发表于 2015-7-8 08:28:38

Centos+mysql+apache(http)+php+wordpress搭建个人站点

# 安装次序很重要:apr --> apr-util --> apache --> MySQL -->php--->Xcache ——>wordpress
架构:LAMP一直很受大众喜欢,完全能满足基本需求。当访问量大时可以尝试LNMP架构,做到前端负载均衡访问。
下载:各安装包已放到云盘上,http://pan.baidu.com/s/1gd1uWTX
一、安装编译apache
1 编译安装apr

[*]#tar xf apr-1.4.6.tar.bz2
[*]#cd apr-1.4.6
[*]#./configure --prefix=/data/apr
[*]#####软件包安装的路径统一放在第三方软件位置:/data/
[*]#make
[*]#make install
2 编译安装apr-util

[*]#tar xf apr-util-1.5.2.tar.bz2
[*]#cd apr-util-1.5.2
[*]#./configure –prefix=/data/apr-util –with-apr=/data/apr
[*]####指定apr-util和apr安装路径
3 安装pcre-devel软件包

[*]# yum install pcre-devel
4 编译安装httpd-2.4.4

[*]# tar xf httpd-2.4.4.tar.bz2
[*]# cd httpd-2.4.4
[*]#./configure --prefix=/data/apache –sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/data/apr-util --enable-mpms-shared=all --with-mpm=event
[*]说明:--prefix=/data/apache    ####httpd安装路径
[*]--sysconfdir=/etc/httpd      ####系统配置文件目录路径
[*]--enable-so       ######支持共享模块功能
[*]--enable-ssl            #####支持ssl功能
[*]--enable-cgi       ####支持cgi功能
[*]--enable-rewrite    ####支持重写功能
[*]--with-zlib         #####支持扩展库文件功能
[*]--with-pcre       #####支持pcre功能
[*]--with-apr=/data/apr       ######指定apr安装路径
[*]--with-apr-util=/data/apr-util   #####指定apr-util安装路径
[*]--enable-mpms-shared=all      #####表示此平台的mpm模块都会被安装
[*]--with-mpm=event       #####特指定mpm模块为event,mpm模块可以在配置文件中修改
[*]#make
[*]#setenforce 0       #####由于web服务是受selinux控制会导致系统运行不起来,要把selinux的功能关掉
[*]#make install
5 修改httpd的主配置文件,设置其pid文件的路径

[*]#vim /etc/httpd/httpd.conf
[*]添加内容:PidFile“/var/run/httpd.pid”
[*]保存退出
6 为httpd提供服务脚本
[*]#cp /httpd-2.4.4/build/rpm/httpd.init/etc/rc.d/init.d/httpd
[*]#vim /etc/rc.d/init.d/httpd
[*]说明:修改配置文件    1:#!/bin/bash   2:#   3:# Licensed to the Apache Software Foundation (ASF) under one or more   4:# contributor license agreements.See the NOTICE file distributed with   5:# this work for additional information regarding copyright ownership.   6:# The ASF licenses this file to You under the Apache License, Version 2.0   7:# (the "License"); you may not use this file except in compliance with   8:# the License.You may obtain a copy of the License at   9:#10:#   http://www.apache.org/licenses/LICENSE-2.011:#12:# Unless required by applicable law or agreed to in writing, software13:# distributed under the License is distributed on an "AS IS" BASIS,14:# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.15:# See the License for the specific language governing permissions and16:# limitations under the License.17:#18:#19:# httpd      Startup script for the Apache Web Server20:#21:# chkconfig: - 85 1522:# description: The Apache HTTP Server is an efficient and extensible\23:#             server implementing the current HTTP standards.24:# processname: httpd25:# pidfile: /var/run/httpd.pid26:# config: /etc/httpd/httpd.conf27:### BEGIN INIT INFO28:# Provides: httpd29:# Required-Start: $local_fs $remote_fs $network $named30:# Required-Stop: $local_fs $remote_fs $network31:# Should-Start: distcache32:# Short-Description: start and stop Apache HTTP Server33:# Description: The Apache HTTP Server is an extensible server   34:#implementing the current HTTP standards.35:### END INIT INFO36:   37:# Source function library.38:. /etc/rc.d/init.d/functions39:   40:# What were we called? Multiple instances of the same daemon can be41:# created by creating suitably named symlinks to this startup script42:prog=$(basename $0 | sed -e 's/^//')43:   44:if [ -f /etc/sysconfig/${prog} ]; then45:          . /etc/sysconfig/${prog}46:fi47:# Start httpd in the C locale by default.48:HTTPD_LANG=${HTTPD_LANG-"C"}49:   50:# This will prevent initlog from swallowing up a pass-phrase prompt if51:# mod_ssl needs a pass-phrase from the user.52:INITLOG_ARGS=""53:   54:# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server55:# with the thread-based "worker" MPM; BE WARNED that some modules may not56:# work correctly with a thread-based MPM; notably PHP will refuse to start.57:apachectl=/database/apache/bin/apachectl58:httpd=${HTTPD-/database/apache/bin/httpd}59:pidfile=${PIDFILE-/var/run/${prog}.pid}60:lockfile=${LOCKFILE-/var/lock/subsys/${prog}}61:RETVAL=062:   63:# check for 1.3 configuration64:check13 () {65:          CONFFILE=/etc/httpd/httpd.conf66:          GONE="(ServerType|BindAddress|Port|AddModule|ClearModuleList|"67:          GONE="${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|"68:          GONE="${GONE}AccessConfig|ResourceConfig)"69:          if grep -Eiq "^[[:space:]]*($GONE)" $CONFFILE; then70:                  echo71:                  echo 1>&2 " Apache 1.3 configuration directives found"72:                  echo 1>&2 " please read @docdir@/migration.html"73:                  failure "Apache 1.3 config directives test"74:                  echo75:                  exit 176:          fi77:}78:# The semantics of these two functions differ from the way apachectl does79:# things -- attempting to start while running is a failure, and shutdown80:# when not running is also a failure.So we just do it the way init scripts81:# are expected to behave here.82:start() {83:          echo -n $"Starting $prog: "84:          check13 || exit 185:          LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS86:          RETVAL=$?87:          echo88:          [ $RETVAL = 0 ] && touch ${lockfile}89:          return $RETVAL90:}91:stop() {92:          echo -n $"Stopping $prog: "93:          killproc -p ${pidfile} -d 10 $httpd94:          RETVAL=$?95:          echo96:          [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}97:}98:reload() {99:          echo -n $"Reloading $prog: " 100:          check13 || exit 1 101:          killproc -p ${pidfile} $httpd -HUP 102:          RETVAL=$? 103:          echo 104:} 105:    106:# See how we were called. 107:case "$1" in 108:    start) 109:          start 110:          ;; 111:    stop) 112:          stop 113:          ;; 114:    status) 115:          if ! test -f ${pidfile}; then 116:            echo $prog is stopped 117:            RETVAL=3 118:          else 119:            status -p ${pidfile} $httpd 120:            RETVAL=$? 121:          fi 122:          ;; 123:    restart) 124:          stop 125:          start 126:          ;; 127:    condrestart) 128:          if test -f ${pidfile} && status -p ${pidfile} $httpd >&/dev/null; then 129:                  stop 130:                  start 131:          fi 132:          ;; 133:    reload) 134:          reload 135:          ;; 136:    configtest) 137:          LANG=$HTTPD_LANG $httpd $OPTIONS -t 138:          RETVAL=$? 139:          ;; 140:    graceful) 141:          echo -n $"Gracefully restarting $prog: " 142:          LANG=$HTTPD_LANG $httpd $OPTIONS -k $@ 143:          RETVAL=$? 144:          echo 145:          ;; 146:    *) 147:          echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|graceful|help|configtest}" 148:          exit 1 149:esac 150:exit $RETVAL



7 为httpd提供服务脚本
   1:#chmod +x /etc/rc.d/init.d/httpd

页: [1]
查看完整版本: Centos+mysql+apache(http)+php+wordpress搭建个人站点