freebsd php 编译 mysql sql2005_FreeBSD7.0编译安装nginx+php+mysql

环境

系统:FreeBSD7.0

软件:mysql-5.0.51a,nginx-0.6.30,lighttpd-1.4.19,php-5.2.6

所有软件都安装到/usr/local/vhost,如果需要请自行修改

一、下载源代码

cd /usr/ports/databases/mysql50-server/

make fetch

cd /usr/ports/www/nginx-devel/

make fetch

cd /usr/ports/lang/php5

make fetch

cd /usr/ports/www/lighttpd

make fetch

二、编译安装

MySQL

cd /usr/ports/distfiles/

tar -jxf mysql-5.0.51a.tar.gz

cd mysql-5.0.51a

./configure --prefix=/usr/local/vhost/mysql --with-charset=utf8 --with-extra-charsets=all --with-big-tables --with-pthread

make &&make install

Nginx

cd /usr/ports/devel/pcre

make install clean

cd /usr/ports/distfiles/

tar -jxf nginx-0.6.30.tar.gz

cd nginx-0.6.30

./configure --prefix=/usr/local/vhost/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_sub_module

make &&make install

Lighttpd

(安装lighttpd是为了得到启动fastcgi进程)

cd /usr/ports/distfiles/

tar -jxf lighttpd-1.4.19.tar.bz2

cd lighttpd-1.4.19

./configure --prefix=/usr/local/vhost/lighttpd

Php

cd /usr/ports/textproc/libxml2

make install clean

cd /usr/ports/ftp/curl

make install clean

cd /usr/ports/graphics/jpeg

make install clean

cd /usr/ports/graphics/png

make install clean

cd /usr/ports/devel/gettext

make install clean

cd /usr/ports/distfiles/

tar -jxf php-5.2.6.tar.bz2

cd php-5.2.6

./configure --prefix=/usr/local/vhost/php --with-mysql=/usr/local/vhost/mysql -enable-fastcgi --enable-sockets --enable-ftp --enable-zip --enable-mbstring --enable-mbregex --enable-calendar --with-curl=/usr/local/clude --with-curlwrappers --disable-debug --enable-inline-optimization --with-zlib --with-gd --with-kerberos --with-gettext --enable-force-cgi-redirect --with-jpeg-dir=/usr/inlocal/clude --with-png-dir=/usr/local/include --with-bz2 --enable-pcntl --with-iconv

make && make install

cp php.ini-dist /usr/local/vhost/php/lib/php.ini

三、配置

MySQL

cd /usr/local/vhost/mysql

pw adduser mysql -d /dev/null -s /sbin/nologin

bin/mysql_install_db

cp share/mysql/mysql.server ./

chmod +x mysql.server

chown -R mysql ./

启动

引用:/usr/local/vhost/mysql/mysql.server start

配置nginx

cd /usr/local/vhost/nginx/

pw adduser webuser -d /dev/null -s /sbin/nologin

cp /usr/local/vhost/lighttpd/bin/spawn-fcgi ./sbin/

rm -rf /usr/local/vhost/lighttpd

vi sbin/php.sh

#!/bin/sh

/usr/local/vhost/nginx/sbin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 8 -u webuser -f /usr/local/vhost/php/bin/php-cgi

引用:chmod +x sbin/php.sh

启动php for fast-cgi

引用:sbin/php.sh

vi conf/enable_php

location ~ /.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/local/vhost/nginx/html$fastcgi_script_name;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

fastcgi_param REQUEST_URI $request_uri;

fastcgi_param DOCUMENT_URI $document_uri;

fastcgi_param DOCUMENT_ROOT $document_root;

fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;

fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

fastcgi_param REMOTE_ADDR $remote_addr;

fastcgi_param REMOTE_PORT $remote_port;

fastcgi_param SERVER_ADDR $server_addr;

fastcgi_param SERVER_PORT $server_port;

fastcgi_param SERVER_NAME $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect

fastcgi_param REDIRECT_STATUS 200;

}

vi conf/nginx.conf

user webuser webuser;

worker_processes 1;

events {

worker_connections 4096;

use kqueue;

}

http {

include mime.types;

default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] $request '

# '"$status" $body_bytes_sent "$http_referer" '

# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

client_header_timeout 3m;

client_body_timeout 3m;

send_timeout 3m;

client_max_body_size 5m;

client_header_buffer_size 1k;

large_client_header_buffers 4 4k;

gzip on;

gzip_min_length 1100;

gzip_buffers 4 8k;

gzip_types text/plain;

output_buffers 1 32k;

postpone_output 1460;

sendfile on;

tcp_nopush on;

tcp_nodelay on;

send_lowat 12000;

keepalive_timeout 75 20;

server {

listen 80;

server_name localhost;

location / {

root html;

index index.php index.html index.htm;

}

if (-d $request_filename){

rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;

}

location /nginx_status {

stub_status on;

access_log off;

}

include enable_php;

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

}

测试配置文件

引用:sbin/nginx -t

2008/05/08 11:50:19 [info] 3336#0: the configuration file /usr/local/vhost/nginx/conf/nginx.conf syntax is ok

2008/05/08 11:50:19 [info] 3336#0: the configuration file /usr/local/vhost/nginx/conf/nginx.conf was tested successfully

vi html/phpinfo.php

phpinfo();

?>

启动测试

引用:/usr/local/vhost/nginx/sbin/nginx

在浏览器里输入

引用:http://192.168.29.128/phpinfo.php

安装配置phpMyadmin

cd /usr/ports/databases/phpmyadmin/

make fetch

cd /usr/ports/distfiles

tar -jxf phpMyAdmin-2.11.6-all-languages.tar.bz2

mv phpMyAdmin-2.11.6-all-languages /usr/local/vhost/nginx/html/dbadmin

此时MySQL的root没有密码,如果一切正常可以用

http://192.168.29.128/dbadmin/index.php来管理MySQL了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值