Apache-2.2
安裝 PHP 後,Apache 在提供靜態內容方面(相對)慢?
首先是關於我如何安裝 PHP、Apache 和一些 Apache 模組的背景知識:
# apt-get -y install php5 php-pear libapache2-mod-php5 php-apc php5-mysql php5-mcrypt php5-xmlrpc php5-curl php5-imagick php5-gd php5-imap php5-pspell # apt-get -y install apache2 apache2-doc apache2-utils # a2enmod setenvif headers deflate filter expires rewrite include
我的 httpd.conf 文件看起來像這樣(即,我基本上禁用了 .htaccess,並在 httpd.conf 中擁有所有規則):
<Directory /var/www/example.com/public> AllowOverride None [...] </Directory>
考慮到它可以讓您對我的網路伺服器的設置方式有一個基本的了解,我想繼續提出以下問題:
- Apache 在安裝 PHP 的情況下提供靜態內容的速度是否相對較慢?(我猜。)
- 可以說,我的網站的根目錄是“/var/www/example.com/public”,並且我在“/var/www/example.com/public/uploads”中擁有所有靜態內容(CSS、JS、圖像) ‘; 如何克服*問題 (1)*而無需將所有靜態內容移動到未安裝 PHP 的伺服器?
這取決於您如何使用 php 配置 apache,如何優化您的配置。如果 php 配置了 CGI 介面,那麼 apache 將僅將某些類型的文件從外部傳遞給 php(例如與 nginx 相同),因此對其他文件的影響為 0,如果是模組,它可能會更快動態頁面,因為它沒有從外部呼叫 php,但對其他人來說可能會更慢,因為 php 模組一直載入 apache,儘管它僅對某些類型的文件仍然有效(根據 mimetype)。
- 是/否
- 將 mod_fcgid 與 php 一起使用
配置為模組的 php 範例,僅解析 .php 文件(RHEL5/6,Fedora):
[root@main ~]# cat /etc/httpd/conf.d/php.conf # # PHP is an HTML-embedded scripting language which attempts to make it # easy for developers to write dynamically generated webpages. # <IfModule prefork.c> LoadModule php5_module modules/libphp5.so </IfModule> <IfModule worker.c> LoadModule php5_module modules/libphp5-zts.so </IfModule> # # Cause the PHP interpreter to handle files with a .php extension. # AddHandler php5-script .php AddType text/html .php # # Add index.php to the list of files that will be served as directory # indexes. # DirectoryIndex index.php # # Uncomment the following line to allow PHP to pretty-print .phps # files as PHP source code: # AddType application/x-httpd-php-source .phps