风中的百合 發表於 2008-9-8 18:48:09

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