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文件,是不是发现小了很多,机器启动速度也比以前要快一些呢。