nginx+mysql+php 安装日记

来源:互联网 发布:fluent网格划分软件 编辑:程序博客网 时间:2024/04/29 16:34

上周六测试了lighttpd,很简单,安装和支持PHP一下子就通过了,今天又了解了下nginx服务,为什么去了解它,因为现在国内很多大型的网站都使用nginx做为web server,比如yo2,新浪博客等等,还有很多都是使用nginx,其性能在apache之上,所以得学学了。

还是以FreeBSD7.0为例

首先安装MySQL-Server-5.0,以ports方式安装

#cd /usr/ports/databases/mysql50-server && make install clean

2,php5安装

#cd /usr/lang/php5/ && make install clean   选择对cgi mysql等的支持

#cd /usr/devel/pcre && make install clean

因为nginx跑PHP需要fastcgi支持,所以需要下载lighttpd包编译,不需要安装,编译后产生spawn-cgi/

#cd /usr/ports/www/lighttpd && make

#cp /usr/ports/www/lighttpd/work/lighttpd-version/src/spawn-cgi /usr/bin  #复制spawn-cgi到/usr/bin目录下;

#make clean   #删除下载回来的lighttpd文件

修改配置文件/usr/local/etc/nginx/nginx.conf

去除以下配置文件中的#号,再设置第二行的user www www以www用户和组运行,保存

location ~ \.php$ {

Aroot           html;

fastcgi_pass   127.0.0.1:9000;

* pfastcgi_index  index.php;6 U5 H6 o) l: [4 j* S

fastcgi_param  SCRIPT_FILENAME  /usr/local/www/nginx$fastcgi_script_name;

  {  J. ]6 x/ K) xinclude        fastcgi_params;

( }0 y. j: D9 |; ]}8 @0 G" Q3 r0 L: Q

6,修改PHP.ini文件中的cgi.fix_pathinfo=1 这样php-cgi方能正常使用SCRIPT_FILENAME这个变量。

- B8 w6 F, l9 ~/ u- d1 L& g% D7,启动fcgi

: h; a' V: {& {* `" D/ h- j  M#/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 20 -u www -f /usr/local/bin/php-cgi  U$ y  M; I9 H

参数说明:

: ?! O+ e; @' ]* a-f <fcgiapp> 指定调用FastCGI的进程的执行程序位置,根据系统上所装的PHP的情况具体设置

# W; I) z9 ?6 A( s-a <addr> 绑定到地址addr$ O4 ^4 [  @' u! Q" J. Z9 O7 E

-p <port> 绑定到端口port

# W" d, c' S0 B9 V3 r" ~-s <path> 绑定到unix socket的路径path

! |3 ?) k  h1 y-C <childs> 指定产生的FastCGI的进程数,默认为5(仅用于PHP)[这里我设置为20]5 z; ?& \# h# a$ {# N1 Z" U

-P <path> 指定产生的进程的PID文件路径

- r; K' R$ O$ i0 g8 I-u和-g FastCGI使用什么身份(-u 用户 -g 用户组)运行,Ubuntu下可以使用www-data,其他的根据情况配置,如nobody、apache等

9 G! H1 v( P% ]4 Z8,测试与启动nginx

( {) b0 F8 Z: f测试:nginx -t -c /usr/local/etc/nginx/nginx.conf   测试配置是否正确

% R  h4 J) }( N1 `6 r如果屏幕显示以下两行信息,说明配置文件正确:/ R# N& T2 S9 K; Y! [

www# nginx -t -c /usr/local/etc/nginx/nginx.conf  y# ]9 ]0 I' u7 E. D# \) }% b  V

2008/07/21 16:58:13 [info] 33772#0: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok

3 L- y  c5 T7 \2008/07/21 16:58:13 [info] 33772#0: the configuration file /usr/local/etc/nginx/nginx.conf was tested successfully) b  Y7 U  C% U! b  J

启动:( S/ |' ^3 p5 n

/usr/local/etc/rc.d/nginx start

2 j2 @, X7 `5 a+ D' F6 z. G9,加入开机自动启动/etc/rc.conf2 j0 U- z: Z+ W6 |5 H& R' }4 `

nginx_enable=”YES”# k" h# @9 |- M

10,phpinfo测试

- k+ O" m1 j) \5 c写入以下内容至/usr/local/etc/www/nginx/phpinfo.php$ E; F0 G7 V: n. g

<? phpinfo();?>

$ Y6 x: t6 @5 [: s6 D8 ^如果正常输出PHP配置信息,则配置成功!# T9 L! Q- i( r  \5 r: ?

另外需要补充一点:

. [/ F- k! r% q6 u. f如需要安装WordPress和CMS之类程序,还需要安装PHP扩展,php5-extensions! w# k+ i: Z3 |" W6 u* \

#cd /usr/ports/lang/php5-extensions/ && make install clean0 G# y7 a- n) E

选中需要安装与支持的模块。

0 0
原创粉丝点击