FreeBSD10上用pkg快速安装配置Nginx+PHP+MySQL

在 FreeBSD 下安装软件的传统方法是用 ports 源码安装,不过使用 ports 源码编译安装太耗时(尤其是各种库依赖多、大的时候),而pkg这种软件包管理工具直接安装编译好的二进制软件包,不用自己编译,省时省力。

和Debian和Ubuntu一样,FreeBSD 也能一行命令解决所有安装和软件包依赖问题,下面的输出要比 apt-get/yum 来的清新舒服吧~:

# pkg install nginx php55 php55-extensions mysql55-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 php5-xmlreader: 5.4.26
Installing php5-pdo_sqlite: 5.4.26
Installing php5-extensions: 1.7
Installing mysql55-client: 5.6.30
Installing mysql55-server: 5.6.30

The installation will require 149 MB more space

14 MB to be downloaded

Proceed with installing packages [y/N]: y

安装完后把服务加到系统启动文件里:

# vi /etc/rc.conf

nginx_enable="YES"
php_fpm_enable="YES"
mysql_enable="YES"

配置 MySQL:

cp /usr/local/share/mysql/my-medium.cnf /etc/my.conf

如果你的服务器足够好,耶可以用下面的配置文件

# cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf

# service mysql-server start

修改MySQL默认密码

# /usr/local/bin/mysqladmin -u root password 'password'

配置 PHP 和 PHP-FPM,这里不需要配啥,默认的配置就行:

# 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
# service php-fpm restart

配置 Nginx以启用FastCGI:

# 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

发表评论

电子邮件地址不会被公开。 必填项已用*标注