510742 发表于 2010 年 10 月 2 日 16:37:46

NetBSD 上安装和配置 Nginx+PHP+FastCGI+MySQL


NetBSD 支持 n 种硬件架构,是地球上支持最多体系的系统;OpenBSD 来自 NetBSD,自称是地球上最安全的系统;FreeBSD 和 NetBSD 一样来自原始的 4.4 BSD-lite,但是 FreeBSD 现在主要支持 i386,在 PC 体系上 FreeBSD 比 NetBSD/OpenBSD 好很多,性能也最好。这三种 BSD 各有特点,和不同的 Linux 发行版一样每个系统都有很多粉丝,当然使用 FreeBSD 的人最多。VPSee 的一台老掉牙的IBM ThinkPad 就在跑 FreeBSD,嗯,现在这台机器还在工作呢。虽然 NetBSD 的性能在 i386 上没有 FreeBSD 那么好,但是它的稳定性是非常的赞,Benchmarking BSD and Linux这篇测试的作者说:Please note that NetBSD was the only BSD that never crashed or panicked on me, so it gets favourable treatment for that.这篇文章在 NetBSD 上搭建:下载 pkgsrc The NetBSD Packages Collection (pkgsrc) 是 NetBSD 下的基于源码的软件包管理系统,不同于 Debian/Ubuntu 上的 apt-get,pkgsrc 是基于源代码的方式管理软件包的,有点像 Gentoo 里面的 emerge 系统。pkgsrc 有三个分支,HEAD、pkgsrc-yyyyQqq 和 pkgsrc-wip,前两个是 pkgsrc 项目组的正式分支。我们在这里使用 pkgsrc-yyyyQqq(季度分支),下载和解压 pkgsrc 并放到合适的目录:
ftp ftp://ftp.NetBSD.org/pub/pkgsrc/pkgsrc-2010Q2/pkgsrc-2010Q2.tar.bz2
tar jxvf pkgsrc-2010Q2.tar.bz2
mv pkgsrc /usr/
安装 Nginx+PHP+FastCGI+MySQL 编译和安装 PHP,注意编译 PHP 的时候需要加上 fastcgi 说明,这样 PHP 编译才会把 FastCGI 部分编译进去:
vi /etc/mk.conf
PKG_OPTIONS.php = fastcgi
cd /usr/pkgsrc/lang/php5
make install clean clean-depends 配置 PHP:
/usr/pkg/etc/php.ini
cgi.fix_pathinfo=1 编译和安装 FastCGI:
cd /usr/pkgsrc/www/spawn-fcgi/
make install clean clean-depends 编译和安装 Nginx:
cd /usr/pkgsrc/www/nginx
make install clean clean-depends 配置 Nginx:cp /usr/pkg/share/examples/rc.d/nginx /etc/rc.d/
vi /usr/pkg/etc/nginx/nginx.conf
location / {
root share/examples/nginx/html;
index index.html index.htm index.php;
}
...
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/pkg/share/examples/nginx/html$f
astcgi_script_name;
include /usr/pkg/etc/nginx/fastcgi_params;
}把 Nginx 加到启动文件以便启动系统时自动启动:vi /etc/rc.confnginx=YES 编译和安装 MySQL:
cd /usr/pkgsrc/databases/php-mysql
make install clean clean-depends
cd /usr/pkgsrc/databases/mysql5-server
make install clean clean-depends 配置 PHP 以便加载 MySQL 动态连接库:
vi /usr/pkg/etc/php.ini
extension=mysql.so 把 MySQL 加到启动文件以便启动系统时自动启动:cp /usr/pkg/share/examples/rc.d/mysqld /etc/rc.d/# vi /etc/rc.confmysqld=YES启动 FastCGI:/usr/pkg/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -f /usr/pkg/libexec/cgi-bin/phpspawn-fcgi: child spawned successfully: PID: 18554 启动 Nginx:
/etc/rc.d/nginx start
Starting nginx. 启动 MySQL 和设置 root 密码:
/etc/rc.d/mysqld start
/usr/pkg/bin/mysqladmin -u root -p password 'new-password'
测试 写一个 php 文件放在 nginx 目录下,然后打开浏览器测试是否能正确访问 php 文件:
vi /usr/pkg/share/examples/nginx/html/index.php
http://www.puhost.com/index.php
http://www.vpsee.com/2010/08/netbsd-install-nginx-php-fastcgi-mysql/

页: [1]
查看完整版本: NetBSD 上安装和配置 Nginx+PHP+FastCGI+MySQL