转自:http://hi.baidu.com/cxh1984/blog/item/42c3bb09845e5a3c6a60fb57.html

如果不会装系统参考:http://hi.baidu.com/tllswa/blog/item/a079b4decae4444d94ee37c9.html

1. 系统设置
增加用户
#pw useradd cxh -s /bin/csh -d /home/cxh -m -g wheel -h 0

配置好ip,SSH
#vi /etc/rc.conf
sshd_enable=”YES”

ntpdate_enable=”YES”
ntpdate_hosts=”pool.ntp.org”

个人习惯设置一下
#ee /root/.cshrc
alias ll        ls -lAh
alias ls        ls -G
set prompt = “%B%n@%m[%/]”

同步一下时间
ntpdate pool.ntp.org
2. ports相关
第一次使用可以:
#portsnap fetch extract
以后使用可以:
#portsnap fetch update

ports 163 镜像 使用帮助查看:http://mirrors.163.com/.help/freebsd.html
#vi /etc/make.conf
MASTER_SITE_BACKUP?=http://mirrors.163.com/FreeBSD/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}
这样通过ports安装的时候下载源就会请求163。

 

3. Nginx 和 PHP安装
安装PHP
#cd /usr/ports/lang/php5
#make config  这里要选上cgi
#make install clean

完成后,记得拷贝php的配置文件:
#cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini

安装扩展
#cd /usr/ports/lang/php5-extensions/
#make install clean

安装nginx
#cd /usr/ports/www/nginx
#make config 选上一些需要的
#make install clean

安装fastcgi
#cd /usr/ports/www/spawn-fcgi
#make install clean

设置自启动
在/etc/rc.conf中加入下面的内容:
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www -g www -f /usr/local/bin/php-cgi
nginx_enable=”YES”

启动
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www -g www -f /usr/local/bin/php-cgi
/usr/local/etc/rc.d/nginx start
可以使用下面命令来杀掉进程
pkill php-cgi
pkill nginx

nginx配置
#vi /usr/local/etc/nginx/nginx.conf
增加一个server
server {
 listen       80;
 server_name  kanshen.me;
 location / {
  root   /data/webroot;
  index  index.html index.htm index.php;
 }

 location ~ \.php$ {
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME /data/webroot/$fastcgi_script_name;
  include        fastcgi_params;
 }
}
4. 安装eaccelertor
#cd /usr/ports/www/eaccelerator
#vi /usr/local/etc/php.ini
在末尾增加以下内容
extension=”eaccelerator.so”
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=””
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
#mkdir /tmp/eaccelerator
#chmod 0777 /tmp/eaccelerator
5. Mysql安装
#cd /usr/ports/databases/mysql55-server
#make install clean
#cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf
#/usr/local/etc/rc.d/mysql-server onestart
如果能成功启动说明安装没有问题。

#mkdir /data/db/mysql
#/usr/local/etc/rc.d/mysql-server onestop
#cp -R /var/db/mysql/ /data/db/mysql/
#chown -R mysql:mysql /data/db/mysql
#vi /usr/local/etc/rc.d/mysql-server
修改mysql_dbdir=”/data/db/mysql”

#vi /etc/rc.conf
加入mysql_enable=”YES”
#/usr/local/etc/rc.d/mysql-server start

#/usr/local/bin/mysql
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY ‘password’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO cxh@”%” IDENTIFIED BY ‘password’ WITH GRANT OPTION;
6. Redis安装
#cd /usr/ports/databases/redis
#make install clean
#vi /usr/local/etc/redis.conf
redis.conf的主要配置参数的意义:
daemonize:是否以后台daemon方式运行
pidfile:pid文件位置
port:监听的端口号
timeout:请求超时时间
loglevel:log信息级别
logfile:log文件位置
databases:开启数据库的数量
save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
rdbcompression:是否使用压缩
dbfilename:数据快照文件名(只是文件名,不包括目录)
dir:数据快照的保存目录(这个是目录)
appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)

下面是一个略做修改后的配置文件内容:
daemonize yes
pidfile /data/redis/redis.pid
port 6379
timeout 300
loglevel debug
logfile /data/log/redis/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /data/db/redis/
appendonly no
appendfsync always
glueoutputbuf yes
shareobjects no
shareobjectspoolsize 1024

创建好以下目录并给予权限
/data/redis/
/data/log/redis/
/data/db/redis/

#vi /etc/rc.conf
增加
redis_enable=”YES”

#/usr/local/etc/rc.d/redis start
7. 安装php redis扩展
获取 phpredis.tar.gz  https://github.com/owlient/phpredis这里有
#tar -xvf phpredis.tar.gz
#cd phpredis
#phpize
#./configure
#make && make install clean
#vi /usr/local/etc/php.ini
增加 extension=redis.so
8. 可以把php的session存放到redis上
#vi /usr/local/etc/php.ini
session.save_handler = redis
session.save_path = “tcp://192.168.61.30:6379?weight=1”