freebsd 安装php

以前没有用ports安装过东西,第一次安装,在安装的过程中出现了几个问题
1. sed 的问题, freebsd具有自己的sed,安装的东西的时候需要用sed替换掉(需要找textproc/sed_inplace,但是我没有找到,我就从另一台已经装好php的服务器上下载下来了)
2. autoconf的问题,重新安装了autoconf【重新安装make deinstall; make reinstall】
3.autoconf:还是有问题,又重新安装/usr/ports/devel/autoconf-wrapper
4.重新安装/usr/ports/graphics/png、graphics/jpeg
5。 然后按照下面的步骤安装php
6. 如果是php5的话,那么还要考虑加载。so(http://linux.chinaunix.net/docs/2006-08-30/2603.shtml
但是这样还是不行,我的里面会说找不到so,然后手动找到so,把conf文件里面的路径改成实际的路径
7. 如果还是不能运行 把配置文件中的ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/"
修改成Alias /cgi-bin/ "/usr/local/www/cgi-bin/"
(但是sh可能不能运行了,明天继续研究)



FreeBSD 8.1下安装 nginx 并配置支持php
2010-11-21 10:54

Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。

Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻等门户网站频道,六间房、56.com等视频分享网站,Discuz!官方论坛、水木社区 等知名论坛,豆瓣、YUPOO相册、海内SNS、迅雷在线等新兴Web 2.0网站。

现在就就来学习在freebsd 8.1中安装及配置nginx:


nginx目前还不能直接支持php,必须先借助于fastcgi来驱动php。现在fastcgi较好的办法有2种,一个是spawn-fcgi,另外一个就是php-fpm,一般来说可能php-fpm更强大一点,但是spawn-fcgi也有相当数量的人在使用。因为ports中的php52已经包含了fpm组件,所以就使用php-fpm来支持。

一、安装配置php5.2.14及php52-extensions
1)安装php5.2.14
#cd /usr/ports/lang/php52 && make install clean
出来“make config”的菜单,选择需要的组件:FPM 组件一定要选。

[X] CLI         Build CLI version                                
[X] CGI         Build CGI version                                
[ ] APACHE      Build Apache module                              
[ ] DEBUG       Enable debug                                     
[X] SUHOSIN     Enable Suhosin protection system (not for jails) 
[X] MULTIBYTE   Enable zend multibyte support                    
[X] IPV6        Enable ipv6 support                              
[X] MAILHEAD    Enable mail header patch                         
[X] REDIRECT    Enable force-cgi-redirect support (CGI only)     
[X] DISCARD     Enable discard-path support (CGI only)           
[X] FASTCGI     Enable fastcgi support (CGI only)                
[X] FPM         Enable fastcgi process manager (CGI only)        
[X] PATHINFO    Enable path-info-check support (CGI only)        

复制配置文件
‍#cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini

2)安装‍php52-extensions
#cd /usr/ports/lang/php52-extensions
#make config 选上需要支持的扩展
#make install clean
‍3)安装Zend Optimizer
#cd /usr/ports/devel/ZendOptimizer
方法一:
#make #不要安装,只需要下载解包
#cd /usr/ports/devel/ZendOptimizer/work/ZendOptimizer-*
#./install-tty ##会出现一个文字的安装界面,只是最后一步,不要选择apache就可以了
#vi /usr/local/etc/php.ini #插入zend的路径,一般来说,上面的安装会自动加入下面的文字。
[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.0
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.0
zend_optimizer.version=3.3.0a
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

方法二:
也可以用make install clean命令安装,则在php.ini文件里需要加上下面的代码:
[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer="/usr/local/lib/php/20060613/Optimizer"
zend_extension_manager.optimizer_ts="/usr/local/lib/php/20060613/Optimizer_TS"
zend_extension="/usr/local/lib/php/20060613/ZendExtensionManager.so"
zend_extension_ts="/usr/local/lib/php/20060613/ZendExtensionManager_TS.so"

二、安装配置nginx:
freebsd上有2个nginx,一个是稳定版(这里查询显示nginx-0.8.53),一个是开发版,这里选择安装稳定版。

# cd /usr/ports/www/nginx && make install clean

接着出来“make config”的菜单,选择需要的组件即可:

[ ] DEBUG                     Enable nginx debugging              
[ ] DEBUGLOG                  Enable debug log (--with-debug)     
[X] FILE_AIO                  Enable file aio                     
[X] IPV6                      Enable IPv6                         
[X] GOOGLE_PERFTOOLS          Enable google perftools module      
[X] HTTP_MODULE               Enable HTTP module                  
[X] HTTP_ADDITION_MODULE      Enable http_addition module         
[X] HTTP_CACHE_MODULE         Enable http_cache module            
[X] HTTP_DAV_MODULE           Enable http_webdav module           
[X] HTTP_FLV_MODULE           Enable http_flv module              
[X] HTTP_GEOIP_MODULE         Enable http_geoip module            
[X] HTTP_GZIP_STATIC_MODULE   Enable http_gzip_static module      
[X] HTTP_IMAGE_FILTER_MODULE Enable http_image_filter module     
[X] HTTP_PERL_MODULE          Enable http_perl module             
[X] HTTP_RANDOM_INDEX_MODULE Enable http_random_index module     
[X] HTTP_REALIP_MODULE        Enable http_realip module           
[X] HTTP_REWRITE_MODULE       Enable http_rewrite module          
[X] HTTP_SECURE_LINK_MODULE   Enable http_secure_link module      
[X] HTTP_SSL_MODULE           Enable http_ssl module              
[X] HTTP_STATUS_MODULE        Enable http_stub_status module      
[X] HTTP_SUB_MODULE           Enable http_sub module              
[X] HTTP_XSLT_MODULE          Enable http_xslt module             
[X] MAIL_MODULE               Enable IMAP4/POP3/SMTP proxy module 
[X] MAIL_IMAP_MODULE          Enable IMAP4 proxy module           
[X] MAIL_POP3_MODULE          Enable POP3 proxy module            
[X] MAIL_SMTP_MODULE          Enable SMTP proxy module            
[X] MAIL_SSL_MODULE           Enable mail_ssl module              
[X] WWW                       Enable html sample files            
[ ] CACHE_PURGE_MODULE        3rd party cache_purge module        
[ ] ECHO_MODULE               3rd party echo module               
[ ] HEADERS_MORE_MODULE       3rd party headers_more module       
[ ] HTTP_ACCEPT_LANGUAGE      3rd party accept_language module    
[ ] HTTP_ACCESSKEY_MODULE     3rd party http_accesskey module     
[ ] HTTP_AUTH_PAM_MODULE      3rd party http_auth_pam module      
[ ] HTTP_AUTH_REQ_MODULE      3rd party http_auth_request module  
[ ] HTTP_EVAL_MODULE          3rd party eval module               
[ ] HTTP_FANCYINDEX_MODULE    3rd party http_fancyindex module    
[ ] HTTP_GUNZIP_FILTER        3rd party http_gunzip_filter module 
[ ] HTTP_MOGILEFS_MODULE      3rd party mogilefs module           
[ ] HTTP_MP4_H264_MODULE      3rd party mp4/h264 module           
[ ] HTTP_NOTICE_MODULE        3rd party notice module             
[ ] HTTP_PUSH_MODULE          3rd party push module               
[ ] HTTP_REDIS_MODULE         3rd party http_redis module         
[ ] HTTP_RESPONSE_MODULE      3rd party http_response module      
[ ] HTTP_UPLOAD_MODULE        3rd party upload module             
[ ] HTTP_UPLOAD_PROGRESS      3rd party uploadprogress module     
[ ] HTTP_UPSTREAM_FAIR        3rd party upstream fair module      
[ ] HTTP_UPSTREAM_HASH        3rd party upstream hash module      
[ ] HTTP_UPSTREAM_KEEPALIVE   3rd party upstream keepalive module 
[ ] HTTP_ZIP_MODULE           3rd party http_zip module           
[ ] MEMC_MODULE               3rd party memc (memcached) module   
[ ] SLOWFS_CACHE_MODULE       3rd party slowfs_cache module       
[ ] SUPERVISORD_MODULE        3rd party supervisord module        
[ ] UDPLOG_MODULE             3rd party udplog (syslog) module    

安装完后,配置目录位于/usr/local/etc/nginx内,这个是freebsd的规则了,闭着眼睛都知道。主配置文件就是nginx.conf。

三、把php配置到nginx上
编辑nginx.con文件:

#vi /usr/local/etc/nginx/nginx.conf

#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/www/nginx$fastcgi_script_name;
include fastcgi_params;
}

设置Nginx的状态监控页面:

添加
location /status {
stub_status on;
access_log   off;
}

启动php-fpm:
‍/usr/local/etc/rc.d/php-fpm start
启动‍nginx:
/usr/local/etc/rc.d/nginx start

在‍/usr/local/www/nginx目录中创建index.php,内容为

<?php
phpinfo();
?>

使用浏览器访问http://服务器IP/index.php进行测试


最后在/etc/rc.conf加入:

php_fpm_enable="YES"
nginx_enable="YES"

让nginx和php-fpm开机自启动

##‍

修改文件大小的限制:
vi /usr/local/etc/php.ini
假设你需要把文件的限制改为 12MB , 可以在php.ini 中修改以下的参数

upload_max_filesize = 12M ;   (默认是2M )
max_execution_time = 300 ; ( 默认是 30 [seconds] )
post_max_size = 12M ;        ( 默认是 8M )

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值