在 FreeBSD 下安裝軟件的傳統(tǒng)方法是用 ports 源碼安裝,不過使用 ports 源碼編譯安裝太耗時(shí)(尤其是各種庫(kù)依賴多萄焦、大的時(shí)候),個(gè)人還是喜歡 pkg 這種軟件包管理工具直接安裝編譯好的二進(jìn)制軟件包病毡,不用自己編譯祭务,省時(shí)省力。
FreeBSD 也能一行命令解決所有安裝和軟件包依賴問題
# pkg install nginx php55 php55-extensions pecl-APC mysql56-server
Updating repository catalogue
The following 23 packages will be installed:
Installing nginx: 1.4.7,1
Installing php5-session: 5.4.26
Installing php5-xmlwriter: 5.4.26
Installing php5-dom: 5.4.26
Installing php5-xml: 5.4.26
Installing php5-simplexml: 5.4.26
Installing php5-ctype: 5.4.26
Installing php5-posix: 5.4.26
Installing php5-hash: 5.4.26
Installing php5-filter: 5.4.26
Installing php5-tokenizer: 5.4.26
Installing php5-json: 5.4.26
Installing php5-sqlite3: 5.4.26
Installing php5-pdo: 5.4.26
Installing php5-iconv: 5.4.26
Installing php5-phar: 5.4.26
Installing pecl-APC: 3.1.14_1
Installing php5-xmlreader: 5.4.26
Installing php5-pdo_sqlite: 5.4.26
Installing php5-extensions: 1.7
Installing mysql56-client: 5.6.16_1
Installing mysql56-server: 5.6.16
The installation will require 149 MB more space
14 MB to be downloaded
Proceed with installing packages [y/N]: y
安裝完后把服務(wù)加到系統(tǒng)啟動(dòng)文件里:
# vi /etc/rc.conf
...
nginx_enable="YES"
php_fpm_enable="YES"
mysql_enable="YES"
配置Mysql:
# vi /usr/local/etc/my.cnf
[mysqld]
socket = /tmp/mysql.sock
skip-networking
skip-name-resolve
# service mysql-server start
# /usr/local/bin/mysqladmin -u root password 'password'
配置 PHP 和 PHP-FPM丁溅,這里不需要配啥唤蔗,默認(rèn)的配置就行:
# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
# vi /usr/local/etc/php.ini
# vi /usr/local/etc/php-fpm.conf
# service php-fpm start
配置 APC:
# echo 'apc.enabled="1"' >> /usr/local/etc/php.ini
# echo 'apc.shm_size="32M"' >> /usr/local/etc/php.ini
# service php-fpm restart
配置 Nginx:
# vi /usr/local/etc/nginx/nginx.conf
user www;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /usr/local/www/nginx;
index index.html index.htm;
}
# 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;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/local/www/nginx;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
# service nginx start
寫個(gè) phpinfo() 頁(yè)面測(cè)試一下 Nginx/PHP/PHP-FPM/APC 組合是否能正常工作。如果一切正常的話訪問 http://localhost/info.php 能看到 PHP 環(huán)境詳細(xì)信息:
# vi /usr/local/www/nginx/info.php
<?php phpinfo(); ?>
參考:http://www.vpsee.com/2014/04/install-nginx-php-apc-mysql-on-freebsd-10-0/