worker mpm php,Ubuntu 16.04 安裝 Apache2.4 + mpm_worker + fastcgi + php7.0

之前寫過一篇 Ubuntu 16.04 在 Apache2.4 跑 PHP7.0 是用 mod_php 跑來的,而 mod_php 是使用 mpm_prefork 來跑,這篇主要要說的是 mpm_worker,因為 mpm_worker 比起 mpm_prefork 用了多進程、線程的混合模式,預先 fork 了一些子進程去製造線程,mpm_worker 對於大量的存取會比 prefork 有更多可用的線程

*** 如果你會用到 chunked mode 會遇到 HTTP 411,建議使用 mod_fcgid + mpm_worker + php

直接進入安裝的方式

Ubuntu 16.04 安裝 Apache2.4 + mpm_worker + fastcgi + php7.0

Step 1. 安裝 apache2 和 php7.0

$ sudo add-apt-repository ppa:ondrej/php -y

$ sudo apt-get update

$ sudo apt-get install apache2 libapache2-mod-fastcgi php7.0 php7.0-fpm php7.1-mysql

Step 2. 停用 mod_php 和 mpm_prefork

$ sudo a2dismod php7.0 mpm_prefork

Step 3. 啟動 action、mpm_worker、rewrite

$ sudo a2enmod mpm_worker actions rewrite

Step 4. 建立 fcgi socket

$ sudo touch /usr/lib/cgi-bin/php7.fcgi

$ sudo chown www-data:www-data /usr/lib/cgi-bin/php7.fcgi

Step 5. 修改 fastcgi 支援 php-fpm socket

$ sudo tee /etc/apache2/mods-available/fastcgi.conf <

AddHandler php7.fcgi .php

Action php7.fcgi /php7.fcgi

Alias /php7.fcgi /usr/lib/cgi-bin/php7.0.fcgi

FastCgiExternalServer /usr/lib/cgi-bin/php7.0.fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization -idle-timeout 360

Require all granted

EOF

Step 6. 建立 index.php 印出 phpinfo 確認。

$ sudo tee /var/www/html/index.php <

phpinfo();

?>

EOF

Step 7. 啟動服務

$ sudo systemctl enable {apache2,php7.0-fpm}

驗證一下 phpinfo 的資訊,搞定。

請按讚:

喜歡 正在載入...

給 Mr. 沙先生一點建議

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值