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
<?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了
上一篇: UNIX让普通用户具备关机权限的操作方法
推荐阅读
-
centos编译安装mysql 5.6及安装多个mysql实例详解
-
详解Lamp环境搭建Linux CentOS6.5编译安装mysql5.6
-
Linux 6下安装编译安装Nginx的步骤
-
CentOS 6.5上编译安装Apache服务器的方法(最小化安装)
-
ubuntu 编译安装php 5.3.3+memcache的方法
-
在lnmp环境中的nginx编译安装
-
Qt最新版5.12.2在Win10环境静态编译安装和部署的完整过程(VS2017)
-
CentOS6.5 编译安装lnmp环境
-
CentOS 6.4系统下编译安装LNMP和配置PHP环境具体步骤
-
CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)