FreeBSD下NGINX 1.8+PHP5.6 +PERL 5.20 +Mysql 5.6+FTP 環境搭建與優化
FreeBSD下NGINX 1.8+PHP5.6 +PERL 5.20 +Mysql 5.6+FTP
環境搭建與優化
為什麼選擇FreeBSD做為os,這裡不再講,具體可以看這裡《Free
BSD,Linux之比較》
附件提供了已做了優化後的配置文件,下載直接可以使用。
#安裝perl 支持
--------------------------------------
cd /usr/ports/lang/perl5.20 && make config
#安裝完以後發現新版本的5.20的perl改變了目錄,這裡做個鏈接。
ln -s /usr/local/bin/perl /usr/bin/perl
#安裝perl支持組件(perl on nginx)
cd /usr/ports/databases/rrdtool && make install clean
cd /usr/ports/databases/p5-DBD-mysql && make install clean
cd /usr/ports/devel/p5-File-Tail && make install clean
cd /usr/ports/devel/p5-Time-HiRes && make install clean
cd /usr/ports/graphics/p5-GD && make install clean
cd /usr/ports/sysutils/p5-Unix-Syslog && make install clean
cd /usr/ports/www/p5-LWP-UserAgent-WithCache && make install clean
cd /usr/ports/dns/p5-Net-DNS && make install clean
cd /usr/ports/security/p5-Digest-HMAC && make install clean
cd /usr/ports/security/p5-Digest-MD5 && make install clean
cd /usr/ports/security/p5-Digest-Perl-MD5 && make install clean
cd /usr/ports/security/p5-Digest-SHA1 && make install clean
cd /usr/ports/net-mgmt/p5-Net-IP && make install clean
cd /usr/ports/lang/p5-ExtUtils-F77 && make install clean
cd /usr/ports/www/p5-FCGI && make install clean
cd /usr/ports/www/p5-FCGI-ProcManager && make install clean
--------------------------------------
#安裝nginx(組件根據自已需要勾選)
--------------------------------------
cd /usr/ports/www/nginx && make config
#安裝php 5.6 on nginx(組件根據自已需要勾選)
cd /usr/ports/lang/php56 && make config
#安裝php 5.6的擴展庫(組件根據自已需要勾選)
cd /usr/ports/lang/php56-extensions && make config
#安裝php常用的支持庫
cd /usr/ports/databases/php5-redis && make install clean
cd /usr/ports/databases/pecl-memcache && make install clean
cd /usr/ports/graphics/ImageMagick && make install clean
cd /usr/ports/graphics/pecl-imagick && make install clean
cd /usr/ports/graphics/php-magickwand && make install clean
#安裝常用的緩存及數據服務
cd /usr/ports/databases/redis && make install clean
cd /usr/ports/databases/memcached && make install clean
cd /usr/ports/www/xcache && make install clean
cd /usr/ports/databases/mysql56-client && make install clean
--------------------------------------
#將服務加入開機啟動項
--------------------------------------
vi /etc/rc.conf
#############################
sendmail_enable=”NO”
sendmail_submit_enable=”NO”
sendmail_outbound_enable=”NO”
sendmail_msp_queue_enable=”NO”
############################
mysql_enable=”YES”
memcached_enable=”YES”
redis_enable=”YES”
############################
php_fpm_enable=”YES”
perl_fcgi_enable=”YES”
nginx_enable=”YES”
############################
pureftpd_enable=”YES”
#先啟動redis和memcached服務,這兩個無需配置,默認即可。
/usr/local/etc/rc.d/redis restart
/usr/local/etc/rc.d/memcached restart
--------------------------------------
#配置nginx
--------------------------------------
#下載配置腳本:附件 nginx-config.zip
#解壓後獲取文件(vhosts_params、nginx.conf、mime.types、fastcgi_params、domain.com)
目錄結構
nginx /
|
|—— vhosts_params
|—— nginx.conf
|—— mime.types
|—— fastcgi_params
|——……..
|——vhosts
|——domain.com
|——……
#將 vhosts_params、nginx.conf、mime.types、fastcgi_params 文件移動到如下目錄
mv vhosts_params /usr/local/etc/nginx/
mv fastcgi_params /usr/local/etc/nginx/
mv nginx.conf /usr/local/etc/nginx/
mv mime.types /usr/local/etc/nginx/
#然後進入nginx下建立 vhosts 目錄
#vhosts目錄以後放置
虛擬站點的配置文件
cd /usr/local/etc/nginx/
mkdir vhosts
#將 domain.com 移動到 /usr/local/etc/nginx/vhosts/ 目下
mv domain.com /usr/local/etc/nginx/vhosts/
#有關domain.com 的配置說明
server
{
listen 80;
#server_name _; #這個是所有域名均可訪問
server_name abc.domain.com; #這個是指定域名訪問
index index.html index.htm index.php index.cgi;
root /usr/local/www/abc.domain.com; #網站文件的目錄位置
include vhosts_params;
}
#有關 vhosts_params文件的說明
#vhosts_params 文件是我建立的一個配置文件,主要方便後面做多個虛擬主機時可以快速的引用。
location ~* ^.+.gzjs$ { #支持對js、css等腳本的壓縮
add_header Content-Encoding gzip;
gzip off;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { #將圖片文件本地緩存30天
expires 30d;
}
location ~ .*\.(js|css)?$ { #將js css文件本地緩存30天
expires 1h;
}
location ~ \.php$ { #php-fcgi的配置,支持php文件
gzip off;
fastcgi_pass unix:/var/run/php-fcgi.sock;
fastcgi_index index.php;
include fastcgi_params;
# fastcgi_cache ngx_fcgi_cache;
# fastcgi_cache_key $scheme$request_method$host$request_uri;
}
location ~ .*\.(pl|cgi)?$ { #perl-fcgi的配置,支持cgi pl文件
gzip off;
fastcgi_pass unix:/var/tmp/perl-fcgi.sock;
fastcgi_index index.cgi;
include fastcgi_params;
# fastcgi_cache ngx_fcgi_cache;
# fastcgi_cache_key $scheme$request_method$host$request_uri;
}
location ~ ^/nginxstatus/ { #打開nginxstatus狀態顯示
stub_status on;
}
error_page 404 = /404/; #定義404錯誤的信息
--------------------------------------
#配置nginx支持
php
--------------------------------------
#下載配置腳本:附件
php-config.zip
#替換原有的配置文件
mv php-fpm.conf /usr/local/etc/
mv php.ini /usr/local/etc/
#啟動nginx和php-fpm
/usr/local/etc/rc.d/php-fpm restart
/usr/local/etc/rc.d/nginx restart
vi /usr/local/www/domain.com/phptest.php
#訪問查看php情況:http://domain.com/phptest.php
--------------------------------------
#配置xcache php
緩存
--------------------------------------
#下載配置腳本:附件 xcache.ini.zip
#修改xcache.ini里的管理帳號密碼
xcache.admin.user = “admin”
xcache.admin.pass = “11a885b207496d7460635c274ffa9da0″
#生成mud5加密密碼在這裡
#http://xcache.lighttpd.net/demo/cacher/mkpassword.php
#將xcache.ini放到php擴展目錄下,php啟動時會自動載入
mv xcache.ini /usr/local/etc/php/
#生成Xcache緩存文件
touch /var/tmp/xcache
chmod 777 /var/tmp/xcache
以下文章點擊率最高
Loading…