LAMP搭建配置

Apache工作模式

worker模式(编译时候指定)

  1. 线程模式
  2. 占用资源少
  3. 并发大
  4. 稳定性不太好

prefork模式(默认)

  1. 进程模式
  2. 占用资源多
  3. 稳定
  4. 并发一般

LAMP(linux+apache+mysql+php)

下载apache

wget https://mirrors.aliyun.com/apache/httpd/httpd-2.2.34.tar.gz

解压缩

tar xf httpd-2.2.34
cd httpd-2.2.34

安装依赖包

yum install zlib zlib-devle -y

编译安装

 ./configure --prefix=/application/apache2.2.34 --enable-deflate --enable-expires --enable-headers --enable-modules=most --enable-so --with-mpm=worker --enable-rewrite

make && make install

ln -s /application/apache2.2.34/ /application/apache

默认站点目录

ll /application/apache/htdocs/

-rw-r--r-- 1 root root 44 11月 21 2004 index.html

创建站点目录

mkdir {www,blog,bbs}

echo "apache www">www/index.html
 echo "apache blog">blog/index.html
echo "apache bbs">bbs/index.html

配置文件

/conf/httpd.conf

vim httpd.conf

找到hosts(405行)

注释打开

修改httpd.conf

ServerName 127.0.0.1:80



#取消列目录的功能

加个-

Options -Indexes  FollowSymLinks

编辑

vim /application/apache/conf/extra/httpd-vhosts.conf



<VirtualHost *:80>   #  所有IP,以及端口80
ServerAdmin 2647qq.com    #邮箱
DocumentRoot "/application/apache2.2.34/htdocs/www"  
ServerName www.daxian.com   #域名
ServerAlias daxian.com  #别名
ErrorLog "logs/www-error_log"  #错误日志,一般在安装目录
CustomLog "logs/www-access_log" common #访问日志
</VirtualHost>

<VirtualHost *:80>
ServerAdmin 2647@qq.com
DocumentRoot "/application/apache2.2.34/htdocs/bbs"
ServerName bbs.daxian.com
ErrorLog "logs/bbs-error_log"
CustomLog "logs/bbs-access_log" common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin 2647@qq.com
DocumentRoot "/application/apache2.2.34/htdocs/blog"
ServerName blog.daxian.com
ErrorLog "logs/blog-error_log"
CustomLog "logs/blog-access_log" common
</VirtualHost>

检查语法

[root@web02 conf]# /application/apache/bin/apachectl -t
Syntax OK

启动apache

/application/apache/bin/apachectl start

优雅重启

/application/apache/bin/apachectl graceful

测试修改hosts(web0)

192.168.70.127 web02 www.daxian.com bbs.daxian.com blog.daxian.com

找一台机器测试一下

[root@mysql01 ~]# curl www.daxian.com
apache www
[root@mysql01 ~]# curl bbs.daxian.com
apache bbs
[root@mysql01 ~]# curl blog.daxian.com
apache blog

开始安装PHP5.3(PHP5.5的之前有介绍安装,这里安装5.3)

下载PHP5.3

cd /home/daxian/tools/

wget http://mirrors.sohu.com/php/php-5.3.27.tar.gz

安装测试环境

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

安装epeo源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

安装PHP需要的依赖库

 yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel 

 yum install -y  freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel 

libiconv-devel可能没有,需要手动安装

复制代码
wget  https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz

 tar xf libiconv-1.15.tar.gz 

cd libiconv-1.15

./configure --prefix=/usr/local/libiconv

make && make install
复制代码

PHP相关扩展库

(不安装epeo源,是没有的)

yum install libmcrypt-devel mhash mcrypt -y

 编译安装PHP

./configure 
--prefix=/application/php5.3.27 
--with-mysql=mysqlnd 
--with-pdo-mysql=mysqlnd 
--with-iconv-dir=/usr/local/libiconv 
--with-freetype-dir 
--with-jpeg-dir 
--with-png-dir 
--with-zlib 
--with-libxml-dir=/usr 
--enable-xml 
--disable-rpath 
--enable-bcmath 
--enable-shmop 
--enable-sysvsem 
--enable-inline-optimization 
--with-curl 
--enable-mbregex 
--enable-mbstring 
--with-mcrypt 
--with-gd 
--enable-gd-native-ttf 
--with-openssl 
--with-mhash 
--enable-pcntl 
--enable-sockets 
--with-xmlrpc 
--enable-soap 
--enable-short-tags 
--enable-zend-multibyte 
--enable-static 
--with-xsl 
--enable-ftp

make && make install

ln -s /application/php5.3.27/ /application/php

创建用户

useradd www -s /sbin/nologin -M

配置httpd 支持PHP

vim /application/apache/conf/httpd.conf

(大概在168行)

 DirectoryIndex index.php index.html

 

(大概在320添加下面两行)

 AddType application/x-httpd-php .php .phtml
 AddType application/x-httpd-php-source .phps

 

修改用户和组(67行)

User www
Group www

重启服务

../bin/apachectl -t
Syntax OK
 ../bin/apachectl graceful

 

创建测试文件

 cd /application/apache/htdocs/www/

echo "<?php phpinfo(); ?>">test_info.php

在windows主机host加上域名解析

192.168.70.127 www.daxian.com

访问网站

http://www.daxian.com/test_info.php

测试数据库

(连接129这台数据库,LNMP曾经搭建过了,直接使用)

vim mysql_info.php 
<?php $link_id=mysql_connect('mysql01','wordpress','123456') or mysql_error(); if($link_id){ echo "mysql is ok !"; }else{ echo mysql_error(); } ?>

http://www.daxian.com/mysql_info.php

LAMP搭建完成

====安装博客====

之前LNMP搭建过了,直接把HTML文件拷贝过来就可以了(如果没安装过,就去看LNMP)

tar zcvf blog.tar.gz blog/

scp blog.tar.gz root@192.168.70.127:/tmp

切到127

 tar xf blog.tar.gz 

mv blog/ /application/apache/htdocs/ 

 chown -R www.www ./blog/

直接访问就可以了

挂载NFS

cd blog/wp-content/uploads/

 mv 2018/ /tmp/

安装NFS

yum install rpcbind nfs-utils -y

/etc/init.d/rpcbind start

mount -t nfs 192.168.70.130:/data/blog /application/apache/htdocs/blog/wp-content/uploads

刷新网站,就可以了(因为之前130搭建过NFS了)

apache调优

vim /application/apache/conf/httpd.conf

Include conf/extra/httpd-mpm.conf

不同模式下载,调优文件

vim extra/httpd-mpm.conf

<IfModule mpm_prefork_module>
StartServers 5                         #  启动进程
MinSpareServers 5                # 最小
MaxSpareServers 10             #最大
MaxClients 150                     #并发
MaxRequestsPerChild 0        # 每个子进程处理多少请求
</IfModule>

<IfModule mpm_worker_module>

ServerLimit   1500          #Lmit限制(后加的)

StartServers 2                 #启动   一般5
MaxClients 150               # 并发    1500
MinSpareThreads 25     #最小
MaxSpareThreads 75    #最大
ThreadsPerChild 25      #
MaxRequestsPerChild 0 # 每个子进程处理多少请求  5000
</IfModule>

如果别的目录下面建立html文件,修改httpd-vhosts.conf , 可能会显示403

修改配置文件

<Directory "/var/html">

    Options -Indexes FollowSynLinks

    AllowOverride None

    Order all,deny

   Allow from all

</Directory>

增加这么一行

重启服务

原文地址:https://www.cnblogs.com/sky00747/p/8527474.html