首页 > 技术文章 > Freebsd10.3(FreeBSD11 Beta1)使用手记

ddddfpxx 2016-07-19 15:34 原文

Freebsd10.3(FreeBSD11 Beta1)使用手记

1.安装系统。

2.设置ssh2登录,并开启ftp。

(1)编辑/etc/ssh/sshd_config文件,设置如下:

PermitRootLogin yes

PermitEmptyPasswords no

PasswordAuthentication yes

(FreeBSD11做以上设置后,用SecureCRT连接的时候,需要将Save Session去掉,这里没有搞清楚)

(2)重新启动sshd

/etc/rc.d/sshd restart

这时,可以离开安装机器,从远程用SecureCrt,通过root操作。

(3)编辑/etc/inetd.conf,将第一行的ftp前面的#去掉,保存退出;然后编辑/etc/ftpusers,在root用户前面加上#,取消root不能登录ftp选项;运行/etc/rc.d/ftpd onestart,然后通过root即可远程访问ftp。编辑/etc/rc.conf,添加ftpd_endable=”YES”,将ftp添加到开机启动中。

3.升级ports

第一次使用:portsnap fetch extract

以后:portsnap fetch update

4.升级pkg

Pkg upgrade

/***************************************/

说明:如果上面的升级提示No mirrors remainning,请修改/etc/resolv.conf,添加以下内容

nameserver 127.0.0.1

nameserver 8.8.8.8

/***************************************/

5.安装mysql

Pkg install mysql57-server mysql57-client

很快上述内容安装完成,此时一定要注意安装完成后的提示信息,如首先要运行 mysql upgrade等,不过,这里我并没有运行,而是直接进行如下操作

(1)/usr/local/etc/rc.d/mysql-server onestart

(2)查看/root/.mysql_secret,找到里面默认的mysql密码,如7)q3kXqie20r。

(3)mysql –uroot -p7)q3kXqie20r,进入mysql

(4)此时如果要进入某个数据库会提示“You must reset your password using ALTER USER statement before executing this statement.”解决上述问题,可如下操作:

set password for 'root'@'localhost'="你的密码"

(5)退出,用新密码登录,mysql安装即可完成,然后把mysql放在启动文件中。

(6)如果想远程管理,则需要进入mysql后,用以下命令。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;

然后:将my.cnf中的bind-address:127.0.0.1注释掉。

Mysql重启命令:

cd /usr/local/etc/rc.d

./mysql_server restart

6.安装nginx

Pkg install nginx

7.安装php

Pkg install php70 php70-extensions

注:如果想安装其它扩展,例如安装curl,可以:

Pkg install php70-curl

另外:pdo_mysql默认是没有安装的,需要进行安装

Pkg install php70-pdo_mysql

安装完成后,开启apc

先拷贝php.ini

Cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

然后:

echo 'apc.enable="1"' >> /usr/local/etc/php.ini

echo 'apc.shm_size="32M"' >> /usr/local/etc/php.ini

8.让nginx支持php,将nginx、php-fpm加入启动。编辑/usr/local/etc/nginx/nginx.conf,将php部分前面的#去掉

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;

 }

标注:红色部分为网站根目录

重启php-fpm,nginx

Service php-fpm restart

Service nginx restart

将上述三个服务加入启动项:

Mysql_enable=”YES”

Nginx_enable=”YES”

Php_fpm_enable=”YES”

OK,测试一下php7的性能。

在/tmp下新建一个php文件:ee /tmp/test.php,写入以下内容

<?php

$a=array();

for($i=0;$i<1000000;$i++)

    $a[$i]=$i;

foreach($a as $i)

    array_key_exists($i,$a);

?>

运行以下语句:

Time /usr/local/bin/php /tmp/test.php

结果如下:

root@slj:/ # time /usr/local/bin/php /tmp/test.php

0.087u 0.237s 0:00.35 88.5%     4330+334k 1+0io 0pf+0w

再和php5.5相比,呵呵,性能不是一般地高啊。

1.484u 0.296s 0:02.48 71.3%     4406+640k 17+0io 115pf+0w

9.编译内核

(1)进入 /usr/src/sys/i386/conf 目录下面, 复制 GENERIC 配置文件, 并给这个文件起一个容易辨认的名称。(当然这里根据你的机器类型而定,如果是amd64,需要将i386改为amd64)

# cd /usr/src/sys/i386/conf

# cp GENERIC MYKERNEL

# cp GENERIC GENERIC201607

而我这里一般将GENERIC复制两份,只对MYKERNEL进行修改,另一份是用来救命的。

(2)对MYKERNEL进行修改,修改的内容可以参照手册的注释进行,比如我会将一些用不到的硬件全部注释起来,如软驱,SCSI设备,RAID设备,用不到的CPU类型等。

(3)编译内核并进行安装

Cd  /usr/src

# make buildkernel KERNCONF=MYKERNEL

# make installkernel KERNCONF=MYKERNEL

如果编译过程中出现错误,如找不到.h文件等,要看一下是哪个设备用到了这个.h文件,如果用不着,再编辑MYKERNEL注释掉找不到的设备,一般能通过,当然时间比较长。

最后,重启机器,看一下/boot/kernel下的kernel文件,是不是发现小了很多,机器启动速度也比以前要快一些呢。

推荐阅读