FreeBSD 10 + Nginx 1.4.4 + PHP 5.5.9 + MySQL 5.6.1


FreeBSD 10 + Nginx 1.4.4 + PHP 5.5.9 + MySQL 5.6.15
How to Install Nginx and PHP-FPM on FreeBSD 10
Mr.Neo Chen(netkiller)、陳景峰(BG 7 NYT)
中国広東省深セン市龍華新区民治街道渓山美地518131+86 1313668890+86 755 29812080
$Id$
著作権© 2011, 2012, 2013, 2014 http://netkiller.github.io
$Date$
サマリ
FreeBSD 10.0のpkgはphp-fpmをインストールできません最終的にpostsコンパイルインストールを採用します
http://netkiller.github.io/journal/freebsd.php.html
マイシリーズドキュメント
Netkiller Architect手札
Netkiller Developer手札
Netkiller PHP手札
Netkiller Python手札
Netkiller Testing手札
Netkiller Cryptography手札
Netkiller Linux手札
Netkiller Debian手札
Netkiller CentOS手札
Netkiller FreeBSD手札
Netkiller Shell手札
Netkiller Security手札
Netkiller Web手札
Netkiller Monitoring手札
Netkiller Storage手札
Netkiller Mail手札
Netkiller Docbook手札
Netkiller Version手札
Netkiller Database手札
Netkiller PostgreSQL手札
Netkiller MySQL手札
Netkiller NoSQL手札
Netkiller LDAP手札
Netkiller Network手札
Netkiller Cisco IOS手札
Netkiller H 3 C手札
Netkiller Multimedia手札
 
 
 
目次
1. PHP 5.5.9
2. MySQL 5.6.15
3. Nginx 1.4.4
1. PHP 5.5.9
テキスト形式の返信
cd /usr/ports/lang/php55
make install clean; rehash

次の3つのPHPコンパイルオプションをオンにします.
[X] CLI        Build CLI version
[X] CGI        Build CGI version
[X] FPM        Build FPM version (experimental)

FreeBSD起動はphp-fpmサービスを自動的にオープンします
cat >> /etc/rc.conf <<EOF
php_fpm_enable="YES"
EOF

PHP拡張のインストール
cd /usr/ports/lang/php55-extensions
make install clean; rehash

FPM起動スクリプト
# /usr/local/etc/rc.d/php-fpm start

2. MySQL 5.6.15
mysql serverとclientのインストール
pkg install mysql56-server
pkg install mysql56-client

mysql rootパスワードの設定
/usr/local/etc/rc.d/mysql-server onestart
/usr/local/bin/mysqladmin -u root password 'newpassword'

FreeBSD起動時にMySQLサービスを開始
cat >> /etc/rc.conf <<EOF
mysql_enable="YES"
EOF

MySQL起動スクリプト
# /usr/local/etc/rc.d/mysql-server

3. Nginx 1.4.4
特殊な需要があるため、pkg取付を採用する
# pkg install nginx

特別なコンパイルモジュールが必要な場合はportsを使用してインストールできます
cd /usr/ports/www/nginx
make install clean; rehash

サービスオープン
cat >> /etc/rc.conf <<EOF
nginx_enable="YES"
EOF

Nginx起動スクリプトの場所
# /usr/local/etc/rc.d/nginx start

例1.Nginxプロファイル
/usr/local/etc/nginx/nginx.conf
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


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;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;

	include /usr/local/etc/nginx/conf.d/*.conf;

}

/usr/local/etc/nginx/conf.d/host.domain.conf
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   /usr/local/www/nginx;
        index  index.html index.php;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/local/www/nginx-dist;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/local/www/nginx$fastcgi_script_name;
        include        fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#    listen       8000;
#    listen       somename:8080;
#    server_name  somename  alias  another.alias;

#    location / {
#        root   html;
#        index  index.html index.htm;
#    }
#}


# HTTPS server
#
#server {
#    listen       443;
#    server_name  localhost;

#    ssl                  on;
#    ssl_certificate      cert.pem;
#    ssl_certificate_key  cert.key;

#    ssl_session_timeout  5m;

#    ssl_protocols  SSLv2 SSLv3 TLSv1;
#    ssl_ciphers  HIGH:!aNULL:!MD5;
#    ssl_prefer_server_ciphers   on;

#    location / {
#        root   html;
#        index  index.html index.htm;
#    }
#}