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

在Ubuntu上使用php5和apache2-mpm-worker

阅读更多

The article Installing Apache2 and PHP5 using mod_fcgid shows how to run php5 with apache2-mpm-worker. The advanage of apache2-mpm-worker over apache2-mpm-prefork is better overall apache2 performance.

1. Install apache2-mpm-worker and the fastcgi apache module libapache-mod-fcid

Code:
# apt-get install apache2-mpm-worker  libapache2-mod-fcgid

2. Enable the Fastcgi apache module mod_fcgid

Code:
# sudo a2enmod fcgid

3. Install php5-cgi and the command-line version php5-cli

Code:
# sudo aptitude install php5-cgi php5-cli

4. Add the following to /etc/apache2/httpd.conf or place these basic configuration settings in a file under /etc/apache2/conf.d. For example, /etc/apache2/conf.d/00-myconf ("00-" will help insure it is read first before other /etc/apache2/conf.d files, which is necessary).

Code:
<Directory /var/www>
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
Options +ExecCGI
</Directory>
# If you have Aliases provide php support for them (Here we provide php support for scripts in /usr/share's subdirectories)
Alias /aptitude /usr/share/doc/aptitude/html/en
Alias /apt /usr/share/doc/apt-doc

<Directory /usr/share>
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
Options ExecCGI FollowSymlinks Indexes
</Directory>

5. Then, for each virtual host configuration file you have in /etc/apache2/sites-available, add ExecCGI within a <Directoy /path-to-site> block (placed within your <VirtualHost> block). For example,

# cat /etc/apache2/sites-availabe/yourdomain.com

Code:
<VirtualHost *:80>
ServerAdmin youremail@yourdomain.com
ServerName yoursite.tld
ServerAlias www.yourdomain.tld *.yourdomain.tld

DocumentRoot /var/www/yourdomain.com

ErrorLog        /var/log/apache2/yourdomain.tld-error.log
CustomLog       /var/log/apache2/yourdomain.tld-access.log combined

<Directory /var/www/yourdomain.com>
Options +ExecCGI 

AllowOverride All
Order Allow,Deny
allow from all
</Directory>
LogLevel warn
ServerSignature On
</VirtualHost>

Note: ExecCGI was turned on in /etc/apache2/sites-available/default for /var/www and its subdirectories, so it is not strictly necessary within the <VirtualHost > block shown here. Using +ExecCGI adds fastcgi support to the Options in force. Options don't merge with prior options (they replace them) unless + is used. You can specify entirely different Options , but you must at a minmum have ExecCGI , if you want php support for your virtual host.

6. For any other <Directory /some/other/path> blocks you have, say, for virtual hosts, which are not subdirectories of /var/www or /usr/share, add

<Directory /some/other/path>
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
Options +ExecCGI
# add other Options you might need, but ExecCGI is required
# . . .
</Directory>

7. Enable your virtual host

Code:
#sudo a2ensite yourdomain.com

7. And reload the apache configuration

Code:
# sudo /etc/init.d/apache2 force-reload

or just restart apache2

Code:
# sudo /etc/init.d/apache2 restart
分享到:
评论

相关推荐

    nairn-mpm-fea:nairn-mpm-fea计算力学项目

    项目的名称“nairn-mpm-fea”可能是以项目创始人或主要贡献者的名字命名,暗示了它在计算力学领域的个人或团队贡献。这个项目始于2015年8月14日,当时是从某个特定的开发平台上导出并独立出来的,这表明它在发展过程...

    在 ubuntu 中安装 Apache 2 Web 服务器

    - **软件包信息**:安装过程中会显示将要安装的额外软件包列表,例如 `apache2-mpm-worker`, `apache2-utils`, `apache2.2-bin`, `apache2.2-common`, `libaprutil1-dbd-sqlite3`, `libaprutil1-ldap`, `ssl-cert` ...

    在ubuntu下搭建Apache+MySQL+PHP开发环境

    sudo apt-get remove apache2 apache2-mpm-prefork apache2-utils apache2.2-common \ libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl \ libmysqlclient15off libnet-daemon-perl ...

    taichi_mpm-master.zip

    通过深入学习和使用"taichi_mpm-master",开发者可以学习到如何利用Taichi库进行物理模拟,掌握高性能计算和GPU编程技巧,同时也可以了解到MPM方法在实际问题中的应用。这对于计算机图形学、游戏开发、工程仿真等...

    apache 2.2.29-x64

    5. **性能优化**:Apache 2.2引入了MPM(多进程模块),如Prefork MPM和Worker MPM,它们分别对应于进程模型和线程模型,以提高服务器处理并发请求的能力。用户可以根据服务器硬件资源和负载情况选择合适的MPM。 6....

    ubuntu下安装php5+pdo

    本文介绍了在 Ubuntu 下安装 PHP5 和 PDO_MYSQL 的详细步骤,包括安装 Apache2、PHP5、MySQL 服务器及其相关组件,并提供了两种安装 PDO_MYSQL 的方法。通过这些步骤,你可以成功地在 Ubuntu 上搭建一个功能齐全的 ...

    php-5.3.1-Win32-VC6-x86+apache2.2.25

    在IT行业中,尤其是在Web开发领域,Apache和PHP的集成是一个常见的需求,特别是在Windows操作系统上。本文将详细讨论如何在Windows环境下搭建PHP与Apache的集成环境,以"php-5.3.1-Win32-VC6-x86+apache2.2.25"为例...

    apache-httpd-2.4.58-win64-VS17.zip

    - **MPM(多进程模块)**:Apache 2.4支持多种MPM,如`prefork`、`worker`和`event`,分别对应于不同的进程/线程模型,以适应不同的服务器负载需求。 - **HTTP/2支持**:相比于HTTP/1.1,HTTP/2提供了更高效的连接...

    taichi_mpm:高性能移动最小二乘物质点法 (MLS-MPM) 求解器。 (ACM 图形交易,SIGGRAPH 2018)

    具有切割和耦合功能的高性能 MLS-MPM 求解器 (CPIC) (现已获得 MIT 许可!) 具有位移不连续性和双向刚体耦合的移动最小... 随意在商业上使用它。 如果我们的软件对您有所帮助,我们将不胜感激。 [介绍和演示视频

    apache2的worker工作模式配置及MaxClients不足问题解决

    在 Worker 工作模式下,Apache 服务器使用多个子进程来处理客户端请求,每个子进程可以处理多个请求。然而,在 Worker 工作模式下,Apache 服务器也存在一些限制,例如 MaxClients 设置不足的问题。 MaxClients ...

    Apache-2.4.2交叉编译

    ./configure --host=arm-linux --prefix=/usr/local/cross-apache --enable-so --with-mpm=prefork --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --with-mysql=/path/to/mysql --...

    Windows下64位Apache-2.4.6

    本指南将详细讲解如何在Windows 64位操作系统上安装和配置Apache 2.4.6版本。 1. **下载Apache 64位版本** 在Windows上安装64位Apache,首先需要从官方或可靠的第三方站点下载。Apache Lounge...

    linux下安装配置apache+php (2).pdf

    本文主要介绍如何在Linux环境下安装和配置Apache Web服务器以及PHP解析器,以构建一个基础的LAMP(Linux、Apache、MySQL、PHP)环境。以下是详细步骤: A. 使用Yum安装Apache和PHP 1. **安装Apache**: - `yum ...

    Apache2.4-win64位

    2. **事件模型**:在Apache2.4中,事件模型替代了旧的多进程(MPM)模型,如prefork和worker。事件模型提高了并发处理能力,降低了资源消耗,尤其适合高流量网站。 3. **HTTP/2支持**:Apache2.4开始支持HTTP/2协议...

    apache-httpd-2.2.34-win32.zip

    2. **多线程处理**:在Windows环境下,Apache通常采用多线程模型(MPM)来处理并发请求,比如WinNT MPM,它可以更有效地利用系统资源,提高响应速度。 3. **虚拟主机**:Apache支持多个虚拟主机,可以在同一台...

    Apache httpd-2.4.16-x64.zip

    1. **MPM(多进程模块)改进**:Apache支持多种MPM,如Prefork、Worker和Event。2.4版中,Event MPM得到了优化,它结合了预派生和异步处理,提高了并发连接的处理效率。 2. **更好的内存管理**:内存分配和管理在...

    Apache Prefork、Worker和Event三种MPM详解

    ### Apache Prefork、Worker 和 Event 三种 MPM 的详解 #### 一、Prefork MPM **Prefork MPM** 是 Apache 提供的一种多处理模块(MPM),它实现了非线程化的、预分叉的 Web 服务器架构,类似于 Apache 1.3 的工作...

    apache httpd 2.4.26 for rhel7 x86_64 RPM

    2. **事件模型**:与早期版本的多进程(MPM_prefork)和多线程(MPM_worker)模型相比,2.4版本提供了MPM_event模型,提高了高并发场景下的性能。 3. **更好的内存管理**:优化了内存分配策略,减少了内存碎片,...

    Apache httpd-2.4.16-x86.zip

    2. **事件模型**:在2.4版本中,Apache引入了新的事件MPM(多进程模块),这提高了服务器在高并发环境下的性能,因为它可以更有效地处理多个连接。 3. **访问控制**:Apache 2.4提供了更灵活的授权和认证机制,如...

    Apache httpd-2.4.17-x86.zip

    1. **模块化设计**:Apache 2.4在架构上进行了模块化的改进,使得服务器组件更易于管理和扩展。核心功能被拆分为多个模块,允许管理员根据需求选择加载必要的模块。 2. **事件模型**:新的事件处理模型提供了更高的...

Global site tag (gtag.js) - Google Analytics