FreeBSD7.0编译安装nginx+php+mysql
<p>环境 <br /><a target="_blank" href="#" class="UBBWordLink">系统</a>:FreeBSD7.0 <br />
软件:mysql-5.0.51a,nginx-0.6.30,lighttpd-1.4.19,php-5.2.6 <br />
所有软件都<a target="_blank" href="#" class="UBBWordLink">安装</a>到/usr/local/vhost,如果需要请自行修改 <br />
一、下载源代码</p>
<pre>
cd /usr/ports/databases/mysql50-server/
<br />make fetch
<br />
<br />cd /usr/ports/www/nginx-devel/
<br />make fetch
<br />
<br />cd /usr/ports/lang/php5
<br />make fetch
<br />
<br />cd /usr/ports/www/lighttpd
<br />make fetch</pre>
<p>二、编译<a target="_blank" href="#" class="UBBWordLink">安装</a> <br />
MySQL</p>
<pre>
cd /usr/ports/distfiles/
<br />tar -jxf mysql-5.0.51a.tar.gz
<br />cd mysql-5.0.51a
<br /> ./configure --prefix=/usr/local/vhost/mysql --with-charset=utf8 --with-extra-charsets=all --with-big-tables --with-pthread
<br />make &&make install</pre>
<p>Nginx</p>
<pre>
cd /usr/ports/devel/pcre
<br />make install clean
<br />
<br />cd /usr/ports/distfiles/
<br />tar -jxf nginx-0.6.30.tar.gz
<br />cd nginx-0.6.30
<br />./configure --prefix=/usr/local/vhost/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_sub_module
<br />make &&make install</pre>
<p>Lighttpd <br />
(<a target="_blank" href="#" class="UBBWordLink">安装</a>lighttpd是为了得到启动fastcgi进程)</p>
<pre>
cd /usr/ports/distfiles/
<br />tar -jxf lighttpd-1.4.19.tar.bz2
<br />cd lighttpd-1.4.19
<br />./configure --prefix=/usr/local/vhost/lighttpd</pre>
<p>Php</p>
<pre>
cd /usr/ports/textproc/libxml2
<br />make install clean
<br />
<br />cd /usr/ports/ftp/curl
<br />make install clean
<br />
<br />cd /usr/ports/graphics/jpeg
<br />make install clean
<br />
<br />cd /usr/ports/graphics/png
<br />make install clean
<br />
<br />cd /usr/ports/devel/gettext
<br />make install clean
<br />
<br />cd /usr/ports/distfiles/
<br />tar -jxf php-5.2.6.tar.bz2
<br />cd php-5.2.6
<br />./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
<br />make && make install
<br />cp php.ini-dist /usr/local/vhost/php/lib/php.ini</pre>
<p>三、配置 <br />
<br />
MySQL</p>
<pre>
cd /usr/local/vhost/mysql
<br />pw adduser mysql -d /dev/null -s /sbin/nologin
<br />bin/mysql_install_db
<br />cp share/mysql/mysql.server ./
<br />chmod +x mysql.server
<br />chown -R mysql ./</pre>
<p>启动 <br />
引用:<i>/usr/local/vhost/mysql/mysql.server start</i><br />
<br />
<br />
配置nginx</p>
<pre>
cd /usr/local/vhost/nginx/
<br />pw adduser webuser -d /dev/null -s /sbin/nologin
<br />cp /usr/local/vhost/lighttpd/bin/spawn-fcgi ./sbin/
<br />rm -rf /usr/local/vhost/lighttpd</pre>
<p>vi sbin/php.sh</p>
<pre>
#!/bin/sh
<br />/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</pre>
<p>引用:<i>chmod +x sbin/php.sh</i><br />
<br />
<br />
启动php for fast-cgi <br />
引用:<i>sbin/php.sh</i><br />
<br />
<br />
vi conf/enable_php</p>
<pre>
location ~ \.php$ {
<br /> root html;
<br /> fastcgi_pass 127.0.0.1:9000;
<br /> fastcgi_index index.php;
<br /> fastcgi_param SCRIPT_FILENAME /usr/local/vhost/nginx/html$fastcgi_script_name;
<br /> fastcgi_param QUERY_STRING $query_string;
<br /> fastcgi_param REQUEST_METHOD $request_method;
<br /> fastcgi_param CONTENT_TYPE $content_type;
<br /> fastcgi_param CONTENT_LENGTH $content_length;
<br />
<br /> fastcgi_param SCRIPT_NAME $fastcgi_script_name;
<br /> fastcgi_param REQUEST_URI $request_uri;
<br /> fastcgi_param DOCUMENT_URI $document_uri;
<br /> fastcgi_param DOCUMENT_ROOT $document_root;
<br /> fastcgi_param SERVER_PROTOCOL $server_protocol;
<br />
<br /> fastcgi_param GATEWAY_INTERFACE CGI/1.1;
<br /> fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
<br />
<br /> fastcgi_param REMOTE_ADDR $remote_addr;
<br /> fastcgi_param REMOTE_PORT $remote_port;
<br /> fastcgi_param SERVER_ADDR $server_addr;
<br /> fastcgi_param SERVER_PORT $server_port;
<br /> fastcgi_param SERVER_NAME $server_name;
<br />
<br /> # PHP only, required if PHP was built with --enable-force-cgi-redirect
<br /> fastcgi_param REDIRECT_STATUS 200;
<br />}</pre>
<p>vi conf/nginx.conf</p>
<pre>
user webuser webuser;
<br />worker_processes 1;
<br />
<br />events {
<br /> worker_connections 4096;
<br /> use kqueue;
<br />}
<br />
<br />
<br />http {
<br /> include mime.types;
<br /> default_type application/octet-stream;
<br />
<br /> #log_format main '$remote_addr - $remote_user [$time_local] $request '
<br /> # '"$status" $body_bytes_sent "$http_referer" '
<br /> # '"$http_user_agent" "$http_x_forwarded_for"';
<br />
<br /> #access_log logs/access.log main;
<br />
<br /> client_header_timeout 3m;
<br /> client_body_timeout 3m;
<br /> send_timeout 3m;
<br /> client_max_body_size 5m;
<br />
<br /> client_header_buffer_size 1k;
<br /> large_client_header_buffers 4 4k;
<br />
<br /> gzip on;
<br /> gzip_min_length 1100;
<br /> gzip_buffers 4 8k;
<br /> gzip_types text/plain;
<br />
<br /> output_buffers 1 32k;
<br /> postpone_output 1460;
<br />
<br /> sendfile on;
<br /> tcp_nopush on;
<br /> tcp_nodelay on;
<br /> send_lowat 12000;
<br />
<br /> keepalive_timeout 75 20;
<br />
<br />
<br /> server {
<br /> listen 80;
<br /> server_name localhost;
<br />
<br /> location / {
<br /> root html;
<br /> index index.php index.html index.htm;
<br /> }
<br />
<br /> if (-d $request_filename){
<br /> rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
<br /> }
<br /> location /nginx_status {
<br /> stub_status on;
<br /> access_log off;
<br /> }
<br />
<br /> include enable_php;
<br /> error_page 500 502 503 504 /50x.html;
<br /> location = /50x.html {
<br /> root html;
<br /> }
<br />
<br /> }
<br />}</pre>
<p>测试配置文件 <br />
引用:<i>sbin/nginx -t <br />
2008/05/08 11:50:19 3336#0: the configuration file /usr/local/vhost/nginx/conf/nginx.conf syntax is ok <br />
2008/05/08 11:50:19 3336#0: the configuration file /usr/local/vhost/nginx/conf/nginx.conf was tested successfully</i><br />
<br />
<br />
vi html/phpinfo.php</p>
<pre>
<?php
<br />phpinfo();
<br />?></pre>
<p>启动测试 <br />
引用:<i>/usr/local/vhost/nginx/sbin/nginx</i><br />
<br />
<br />
在浏览器里输入 <br />
引用:<i>http://192.168.29.128/phpinfo.php</i><br />
<br />
<br />
<a target="_blank" href="#" class="UBBWordLink">安装</a>配置phpMyadmin</p>
<pre>
cd /usr/ports/databases/phpmyadmin/
<br />make fetch
<br />
<br />cd /usr/ports/distfiles
<br />tar -jxf phpMyAdmin-2.11.6-all-languages.tar.bz2
<br />mv phpMyAdmin-2.11.6-all-languages /usr/local/vhost/nginx/html/dbadmin</pre>
<p>此时MySQL的root没有密码,如果一切正常可以用 <br />
http://192.168.29.128/dbadmin/index.php来管理MySQL了<br />
</p>
頁:
[1]