zoukankan      html  css  js  c++  java
  • 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>

    增加这么一行

    重启服务

  • 相关阅读:
    oracle中Blob和Clob类型的区别
    为什么要分库分表
    Enable file editing in Visual Studio's debug mode
    SQL Server Dead Lock Log
    Debug .NET Framework Source
    SQL Server text field里面有换行符的时候copy到excel数据会散乱
    诊断和修复Web测试记录器(Web Test Recorder)问题
    Can't load Microsoft.ReportViewer.ProcessingObjectModel.dll
    'telnet' is not recognized as an internal or external command
    Linq to XML
  • 原文地址:https://www.cnblogs.com/sky00747/p/8527474.html
Copyright © 2011-2022 走看看