`
pavel
  • 浏览: 928091 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux环境安装

    博客分类:
  • php
阅读更多

.先找到 apache php mysql   源码包下载的URL地址
http://www.apache.org
http://www.php.net
http://www.mysql.com

.安装apache
1)解压源码包
   # tar -zxf httpd-2.2.9.tar.gz
   # cd httpd-2.2.9

2)修改worker.c (worker是2.0 中全新的支持多线程和多进程混合模型的MPM)
  
   # vi server/mpm/worker/worker.c

   找到下面几行,并改成如下的数值,其目的是在源码中修改apache可支持的最大线程数和最大客户端数目。

   # define DEFAULT_SERVER_LIMIT 256
   # define MAX_SERVER_LIMIT 40000
   # define DEFAULT_THREAD_LIMIT 256
   # define MAX_THREAD_LIMIT 40000
PS: 如果不用--with-mpm显式指定某种MPM的话,那么prefork就是Unix平台上的缺省MPM.它所采用的方式是预派生子进程的方式,这事实上也就是Apache1.3中所采用的模式。它本身并没有使用到线程,2.0使用它是为了与1.3保持兼容性,另一方面,prefork用单独的子进程来处理不同的请求,进程之间是彼此独立的,这也使得它成为最稳定的MPM.对比prefork,worker是2.0 中全新的支持多线程和多进程混合模型的MPM。由于使用线程来处理请求,所以,可以处理相对海量的请求,而系统资源的开销小于基于进程的服务器。但是,它也使用了多进程,每个进程又生成多个线程,以获得基于进程的服务器的稳定性。笔者认为这种MPM的工作方式将是Apache 2.0以后的发展趋势。

3) 编译和安装 apr
   # cd srclib/apr
   # ./configure --prefix=/usr/local/apr
   # make
   # make install

4) 编译和安装 apr-util
   # cd srclib/apr-util
   # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
   # make
   # make install

5) 更改2Glogs

   # export CFLAGS="-O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"

6)配置apache安装信息
   # CHOST="i686-pc-linux-gnu" \
   # CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" \
   # CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
       #./configure \ (配置源代码树)
       --prefix=/usr/local/apache2 \ (体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录)
       --enable-mods-shared=all \ (编译所有so文件,去掉不经常用的模块,方便日后升级)
       --enable-so \ (Apache以动态共享对象(DSO)编译,为了能以Apache模块使PHP动态载入)
       --enable-deflate \
       --enable-cache \ (支持缓存)
       --enable-disk-cache \ (支持文件缓存)
       --enable-mem-cache \ (支持记忆缓存)
       --enable-file-cache \ (支持磁盘缓存)
       --enable-proxy \
       --enable-rewrite \ (支持重写规则)
       --enable-charset-lite \
       --enable-ssl \ (编译 ssl模块)
       --enable-suexec --with-suexec-bin=/usr/sbin/suexec
       --with-mpm=worker \ (指定mpm方式)
       --with-apr=/usr/local/apr \
       --with-apr-util=/usr/local/apr-util
       --disable-dav \
       --disable-cgid \ (禁止用一个外部 CGI 守护进程执行CGI脚本)
       --disable-cgi \ (禁止编译 CGI 版本的 PHP)

7)执行make安装
   # gmake && make install

8)优化apache配置选项
    (1) 修改httpd.conf
   # vi /usr/local/apache2/conf/httpd.conf
   1> 找到 Listen 80   
        改为 Listen xxx.xxx.xxx.xxx:80 (服务器ip)

       找到 DocumentRoot   "/usr/local/apache2.2/htdocs"       
       <Directory "/usr/local/apache2.2/htdocs">
       设置你的 WEB 服务器的根目录 如 DocumentRoot "/home/myweb"
      
        找到 DirectoryIndex index.html
        改为 DirectoryIndex index.html index.htm index.php

        找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容让apache支持PHP:
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps

    2>
一般说来,可以不需要的模块包括:
    #LoadModule env_module libexec/mod_env.so
    #LoadModule negotiation_module libexec/mod_negotiation.so
    #LoadModule status_module libexec/mod_status.so
    #server side include已经过时了
    #LoadModule includes_module libexec/mod_include.so
    #不需要将没有缺省index文件的目录下所有文件列出
    #LoadModule autoindex_module libexec/mod_autoindex.so
    #尽量不使用CGI:一直是Apache安全问题最多的地方
    #LoadModule cgi_module libexec/mod_cgi.so
    #LoadModule asis_module libexec/mod_asis.so
    #LoadModule imap_module libexec/mod_imap.so
    #LoadModule action_module libexec/mod_actions.so
    #不使用安全认证可以大大提高访问速度
    #LoadModule access_module libexec/mod_access.so
    #LoadModule auth_module libexec/mod_auth.so
    #LoadModule setenvif_module libexec/mod_setenvif.so

    可用可不用的有:
    #比如:需要在~/username/下调试php   
    LoadModule userdir_module libexec/mod_userdir.so
    #比如:需要将以前的URL进行转向或者需要使用CGI scrīpt-alias
    LoadModule alias_module libexec/mod_alias.so

    最好保留的有:
    #用于定制log格式
    LoadModule config_log_module libexec/mod_log_config.so
    #用于增加文件应用的关联
    LoadModule mime_module libexec/mod_mime.so
    #用于缺省index文件:index.php等
    LoadModule dir_module libexec/mod_dir.so

    必须保留的有:
    LoadModule authz_host_module modules/mod_authz_host.so

    3> 找到:
        #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 个扩展配置文件中的设置请按照相关原则进行合理配置!

        再加上 Include conf/extra/mod_cache.conf (配置mod_cache模块)

   (2)修改MPM(多道处理器)参数
    # vi conf/extra/httpd-mpm.conf
    1>找到如下选项,并改成对应的数值

<IfModule mpm_prefork_module>
    ServerLimit        2000   
    StartServers         10
    MinSpareServers      10
    MaxSpareServers      15
    MaxClients         2000
    MaxRequestsPerChild   10000
</IfModule>

<IfModule mpm_worker_module>
      ServerLimit           64
      ThreadLimit          128
      StartServers           8
      MaxClients          8192
      MinSpareThreads       64
      MaxSpareThreads       256
      ThreadsPerChild       128
      MaxRequestsPerChild    0
</IfModule>

   2>修改apache2.2子进程所有者
    # vi /usr/local/apache2.2/conf/httpd.conf
    找到:
    User daemon
    Group daemon
    把daemon改为nobody:
    User nobody
    Group nobody

    (3) #vi conf/extra/httpd-default.conf
    找到如下选项,并改成对应的数值:
    Timeout 15
    KeepAlive Off
    MaxKeepAliveRequests 50
    KeepAliveTimeout 5
    UseCanonicalName Off
    AccessFileName .htaccess
    ServerTokens Prod
    ServerSignature Off
    HostnameLookups Off

    (4)语法检查及建立软链接

    运行语法检查命令检查语法,出现错误后继续调整。
    # /usr/local/apache2/bin/apachectl -t
    没有错误后在 /usr/local/bin/ 目录下建立软链接
    # cd /usr/local/bin
    # ln -fs /usr/local/apache2/bin/httpd httpd

9)启动WEB服务器
   #/usr/local/apache2/bin/apachectl start

   查看自己的站点是否正常 http://www.mysite.com 也可用IP
   (用# /usr/local/apache2/bin/apachectl stop 停止apache)
   (用# /usr/local/apache2/bin/apachectl restart 重启apache)

·配置Apache模块
1.配置mod_cache模块
    # cd /usr/local/apache2/conf/extra
    # vi mod_cache.conf

<IfModule mod_cache>
CacheForceCompletion 100
CacheDefaultExpire 3600
CacheMaxExpire 86400
CacheLastModifiedFactor 0.1

<IfModule mod_disk_cache>
CacheRoot /
CacheSize 256
CacheEnable disk /
CacheDirLevels 5
CacheDirLength 3
</IfModule>

<IfModule mod_mem_cache>
CacheEnable mem /
MCacheSize 4096
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 2048
</IfModule>
</IfModule>

 

参数的解释:
mod_cache:
CacheEnable: 启动 mod_cache,其后接两个参数。第一个参数指定快取的种类,应设为 mem (记忆体快取) 或 disk (磁碟快取) 之其一;第二个参数指定使用快取的 URI 路径,如果对整个网站 (或虚拟主机) 进行快取,简单指定为根目录(/) 即可。
CacheForceCompletion: 这个值指定当 HTTP request 被取消时,内容的产生动作要完成的百分比;预设是 60(%)。
CacheDefaultExpire: 指定快取的预设过期秒数;预设值是一小时 (3600)。
CacheMaxExpire: 指定快取最大的过期秒数;预设值是一天 (86400)。
CacheLastModifiedFactor: 用来从回应里 Last Modified 资讯算出 expire date。
计算方式是:
expire period (过期时距) = 最后更新后至今的时间间距 * CacheLastModifiedFactor

expire date = 目前时间 + expire period
不过无论如何,过期时间不能超过 CacheMaxExpire 的设定值。

现在。如果用squid对该服务器进行反向代理的话,就可以通过cache 实现web的加速了


.安装MYSQL
1)Install
   # tar -zxf mysql-standard-5.0.15-linux-i686.tar.gz
   # cp -r mysql-standard-5.0.15-linux-i686 /usr/local/mysql

2)修改配置
   # vi /usr/local/mysql/support-files/my-medium.cnf 在后面加上
   max_connections = 1000
   log-slow-queries
   long_query_time = 5
   (注:
       max_connections   为允许的最大连接数
       log-slow-queries 打开低速查询日志
       long_query_time 低速查询的秒数(运行一句sql达到此时间记录在日志里)
   )

   然后COPY 它为 /etc/my.cnf 文件
   #cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

3)添加mysql用户及用户组
   # groupadd mysql
   # useradd -g mysql mysql

4)修改mysql目录权限
   # chown -R root /usr/local/mysql
   # chgrp -R mysql /usr/local/mysql
   # chown -R mysql /usr/local/mysql/data

5)生成mysql系统数据库
   # /usr/local/mysql/scripts/mysql_install_db --user=mysql&

6)启动mysql服务
   # /usr/local/mysql/bin/mysqld_safe --user=mysql&
   如出现 Starting mysqld daemon with databases from /usr/local/mysql/data   代表正常启动mysql服务了, 按Ctrl + C 跳出

重启mysql: /etc/rc.d/init.d/mysqld restart

7)修改 mysql 的 root 密码
   # /usr/local/mysql/bin/mysqladmin -u root -p password 123456
   回车出现 Enter password: 最开始密码默认为空继续回车即可 123456 即为你的新密码

.安装PHP
1)安装GD库(让PHP支持GIF,PNG,JPEG)
   首先下载 jpeg6,libpng,freetype 并安装模块
   wget http://www.ijg.org/files/jpegsrc.v6b.tar.gz
   wget http://nchc.dl.sourceforge.net/sourc...g-1.2.8.tar.gz
   wget http://keihanna.dl.sourceforge.net/s...-2.1.10.tar.gz
   wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz

     gd-2.0.33.tar.gz   http://www.boutell.com/gd/

     jpegsrc.v6b.tar.gz http://www.ijg.org/

     libpng-1.2.7.tar.tar  http://www.libpng.org/pub/png/libpng.html

     zlib-1.2.2.tar.gz   http://www.zlib.net/

     freetype-2.1.9.tar.gz  http://www.freetype.org/

1.装zlib

   # tar -zxvf zlib-1.2.2.tar.gz
   # cd zlib-1.2.2
   # ./configure
   # make
   # make install

2.安装 jpeg6
   建立目录
   # mkdir /usr/local/jpeg6
   # mkdir /usr/local/jpeg6/bin
   # mkdir /usr/local/jpeg6/lib
   # mkdir /usr/local/jpeg6/include
   # mkdir /usr/local/jpeg6/man
   # mkdir /usr/local/jpeg6/man/man1
   # cd /usr/local/src
   # tar -zxf jpegsrc.v6b.tar.gz
   # cd jpeg-6b
   # ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
   # make
   # make install

   3.安装libpng
   # cd /usr/local/src
   # tar -zxf libpng-1.2.8.tar.gz
   # cd libpng-1.2.8
   # cp scripts/makefile.std makefile
   # make
   # make install

   4.安装 freetype
   # cd /usr/local/src
   # tar -zxf freetype-2.1.10.tar.gz
   # cd freetype-2.1.10
   # ./configure --prefix=/usr/local/freetype
   # make
   # make install

 

5.安装 autoconf

   # cd /usr/local/src
   # tar -zxf autoconf
   # cd autoconf
   # ./configure    # make
   # make install


   6.安装最新的GD库
   # cd /usr/local/src
   # tar -zxf gd-2.0.33.tar.gz
   # cd gd-2.0.33
   # ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png --with-zlib --with-freetype=/usr/local/freetype/
   # make
   # make install

6.安装最新的Curl库
   # cd /usr/local/src
   # wget http://curl.haxx.se/download/curl-7.15.0.tar.gz
   # tar -zxf curl-7.15.0.tar.gz
   # ./configure --prefix=/usr/local/curl
   # make
   # make install

2)安装PHP
  1.下载并安装libxml2
   # cd /root/soft
   # wget http://ftp.gnome.org/pub/GNOME/sourc...-2.6.19.tar.gz
   (http://ftp.gnome.org/pub/GNOME/sources/)
   # tar -zxf libxml2-2.6.19.tar.gz
   # cd libxml2-2.6.19
   # ./configure --prefix=/usr/local/libxml2
   # make; make install

2.安装 libxslt
   # cd /root/soft
   # wget http://ftp.gnome.org/pub/GNOME/sourc...-1.1.15.tar.gz
   # tar -zxf libxslt-1.1.15.tar.gz
   # cd libxslt-1.1.15
   # ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
   # make; make install

3.开始安装PHP5
   # tar -zxf php-5.2.5.tar.gz \
   # cd php-5.2.5 \
   # ./configure --prefix=/usr/local/php5 \
   # --with-apxs2=/usr/local/apache2/bin/apxs \
   # --with-mysql=/usr/local/mysql \
   # --with-curl=/usr/local/curl \
   # --with-libxml-dir=/usr/local/libxml2 \
   # --with-xsl=/usr/local/libxslt \
   # --with-expat-dir=/usr/lib \ (忽略)
   # --with-iconv \ (支持iconv库)
   # --with-gd=/usr/local/gd2 \
   # --with-jpeg-dir=/usr/local/jpeg6 \
   # --with-zlib-dir=/usr/lib \ (指定zlib模块位置)
   # --with-png-dir=/usr/local/lib \
   # --with-freetype-dir=/usr/local/freetype \
   # --enable-mbstring \ (支持mbstring模块)
   # --enable-maintainer-zts \ (apache mpm以worker方式)
   # --enable-ftp \
   # --enable-soap \
   # --enable-xslt \ (忽略)
   # --disable-ipv6 \
   # --disable-cgi \
   # --disable-cli           #禁掉ipv6,禁掉cli模式,提升速度和安全性.
   # make
   # make install

   必选项
       --prefix=/usr/local/php5
       --with-apxs2=/usr/local/apache2.2/bin/apxs
       --with-mysql=/usr/local/mysql/
       --with-libxml-dir=/usr/local/libxml2
  
   GD库的配置选项
       --with-gd=/usr/local/gd2/
       --with-jpeg-dir=/usr/local/jpeg6/
       --with-png-dir
       --with-zlib-dir=/usr/lib
       --with-freetype-dir=/usr/local/freetype

   可选项  
       --with-curl=/usr/local/curl                                           支持CURL库
       --enable-ftp                                                             打开FTP库函数支持
       --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt   让PHP支持SOAP

.配置 httpd.conf 让apache支持PHP
   # vi /usr/local/apache/conf/httpd.conf
       找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容:
       AddType application/x-httpd-php .php
       AddType application/x-httpd-php-source .phps

   重启apache
     # /usr/local/apache/bin/apachectl restart
     在你Web目录里建一内容为   PHP文件, 输入URL地址查看PHP配置是否正确

分享到:
评论

相关推荐

    西南科技大学+Linux实验报告+Linux环境安装配置实验报告

    【实验报告——Linux环境安装配置】 本实验报告主要围绕Linux操作系统中的软件安装和管理展开,旨在让学生掌握在Linux字符界面中安装和卸载不同类型的软件包,包括二进制包和源代码包,以及通过网络进行软件安装。...

    linux环境安装部署Arcgis

    linux环境安装部署Arcgis,为了能顺利的安装,并成功对数字化城市管理系统项目进行实施上线,编写此说明文档是为了帮助相关人员在实施过程中明确实施过程和相关实施步骤,目的是达到顺畅的、成功的、顺利的完成数字化...

    Linux环境安装搭建

    【Linux环境安装搭建】 在IT领域,特别是在软件开发和系统管理中,经常需要在不同的操作系统环境中工作。Linux作为一款开源且强大的操作系统,被广泛应用于服务器和嵌入式开发。为了在不影响现有Windows操作系统的...

    Linux环境安装BPM8.0Advance版

    ### Linux环境安装BPM8.0 Advance版:深入解析与操作指南 #### 引言 在企业级应用领域,业务流程管理(Business Process Management,简称BPM)系统扮演着至关重要的角色,它能够帮助企业优化流程、提高效率。IBM ...

    在linux环境安装Redis集群

    "在Linux环境安装Redis集群" 标题中的知识点:Redis集群、Linux环境 描述中的知识点:Redis集群、Linux环境 标签中的知识点:Redis、Linux、数据库、缓存 在Linux环境安装Redis集群的知识点: 1. Redis集群的...

    在linux环境安装hadoop集群

    "在 Linux 环境安装 Hadoop 集群" 在 Linux 环境中安装 Hadoop 集群是大数据处理和分析的重要步骤。Hadoop 是 Apache 基金会开发的一款开源的分布式计算框架,能够处理大量数据。下面是安装 Hadoop 集群的详细步骤...

    Linux环境安装Redis 6.2.9

    Linux环境安装Redis 6.2.9

    linux环境安装资源包 tomcat-jdk-mysql-redis

    本资源包"linux环境安装资源包 tomcat-jdk-mysql-redis"包含了四个关键组件,它们分别是Tomcat、JDK、MySQL和Redis,这些都是构建高性能、高可用性的Web应用程序和服务所必需的工具。下面将详细解释这些组件以及它们...

    Linux环境安装达梦数据库

    Linux环境安装达梦数据库,按步骤执行即可

    Linux环境安装JDK8 版本至8u202步骤,包含jdk-8u202-linux-x64.tar.gz压缩包 和安装步骤

    jdk-8u202-linux-x64.tar.gz 为Oracle提供的java8版本最后一个免费商用版 Linux环境安装JDK8 版本至8u202步骤,包含jdk-8u202-linux-x64.tar.gz压缩包 和安装步骤

    Linux环境安装及tomcat/jdk/MySQL安装视频.mp4

    Linux环境安装及tomcat/jdk/MySQL安装视频,如果资料看了还不清楚,可以对照视频来做

    Linux环境安装IBM WebSphere Portal

    在Linux环境下安装IBM WebSphere Portal是一项复杂而关键的任务,它涉及到服务器配置、软件依赖和环境设置等多个方面。WebSphere Portal是IBM提供的一款企业级的门户平台,它允许组织创建、管理和部署具有高度交互性...

    Linux环境安装

    Linux环境的安装、配置、Java JDK安装等。

    Linux环境下安装mysql_python

    linux 环境下安装mysql-pyhon,支持Python数据库开发,包括了主流的centOS、Ubuntu

    Linux环境下离线安装python打包环境所需要的包

    在Linux环境下离线安装Python打包环境,主要是为了创建可执行程序,这通常涉及到Python的解释器、库依赖以及打包工具。以下将详细讲解这个过程的关键步骤和涉及的组件。 首先,`pyinstaller`是Python中广泛使用的...

    linux环境WAS安装部署操作手册.doc

    linux环境安装was

    mysql数据在linux环境下各种安装

    4. **集群环境安装** MySQL集群提供更高的可用性和扩展性,通常包含多个数据节点和一个管理节点。在Linux上,这需要安装`mysql-cluster-gtid`包,并配置集群网络、数据节点和管理节点。每个节点都需要安装MySQL并...

    Linux环境Weblogic超详细安装配置文档

    Linux 环境 Weblogic 超详细安装配置文档 Weblogic 的安装 Weblogic 的安装过程可以分为两部分:Linux 下安装过程和 Windows 中安装过程。下面是 Linux 下安装过程的详细步骤: 1. 部署前准备:创建 weblogic ...

    linux环境下安装QQ

    Linux 环境下安装 QQ Linux 操作系统下安装 QQ 软件需要借助 Wine 项目,Wine 是一个开源的实现 Windows API 的自由软件,它可以在 Linux 和其他类 Unix 操作系统上运行 Windows 应用程序。下面是 Linux 环境下安装...

Global site tag (gtag.js) - Google Analytics