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

Freebsd10.3(FreeBSD11 Beta1)使用手记的更多相关文章

  1. Linux.NET实战手记—自己动手改泥鳅(上)

    各位读者大家好,不知各位读者有否阅读在下的前一个系列<Linux.NET 学习手记>,在前一个系列中,我们从Linux中Mono的编译安装开始,到Jexus服务器的介绍,以及如何在Linu ...

  2. Linux.NET学习手记(7)

    前一篇中,我们简单的讲述了下如何在Linux.NET中部署第一个ASP.NET MVC 5.0的程序.而目前微软已经提出OWIN并致力于发展VNext,接下来系列中,我们将会向OWIN方向转战. 早在 ...

  3. Linux.NET学习手记(8)

    上一回合中,我们讲解了Linux.NET面对OWIN需要做出的准备,以及介绍了如何将两个支持OWIN协议的框架:SignalR以及NancyFX以OwinHost的方式部署到Linux.NET当中.这 ...

  4. 关于《Linux.NET学习手记(8)》的补充说明

    早前的一两天<Linux.NET学习手记(8)>发布了,这一篇主要是讲述OWIN框架与OwinHost之间如何根据OWIN协议进行通信构成一套完整的系统.文中我们还直接学习如何直接操作OW ...

  5. U3D DrawCall优化手记

    在最近,使用U3D开发的游戏核心部分功能即将完成,中间由于各种历史原因,导致项目存在比较大的问题,这些问题在最后,恐怕只能通过一次彻底的重构来解决 现在的游戏跑起来会有接近130-170个左右的Dra ...

  6. 信息系统实践手记5-CACHE设计一例

    说明:信息系统实践手记系列是系笔者在平时研发中先后遇到的大小的问题,也许朴实和细微,但往往却是经常遇到的问题.笔者对其中比较典型的加以收集,描述,归纳和分享. 摘要:此文描述了笔者接触过的部分信息系统 ...

  7. 信息系统实践手记6-JS调用Flex的性能问题一例

    说明:信息系统实践手记系列是系笔者在平时研发中先后遇到的大小的问题,也许朴实和细微,但往往却是经常遇到的问题.笔者对其中比较典型的加以收集,描述,归纳和分享. 摘要:此文描述了笔者接触过的部分信息系统 ...

  8. SQL Server 2016 CTP2.2 安装手记

    SQL Server 2016 CTP2.2 安装手记 下载一个iso文件,解压出来(大约2.8G左右),在该路径下双击Setup.exe即可开始安装. 安装之前请先安装.NET 3.5 SP1,在服 ...

  9. Knockout.js随手记(2)

    计算属性 konckout.js的API文档,写的极为详细和生动,透过MVVM的运作原理,开发时只需专注于定义ViewModel逻辑,不需耗费心力处理TextBox.Select的onchange.o ...

随机推荐

  1. 部署LVS-DR群集

    一.LVS-DR原理剖析 (一)LVS-DR数据包流向分析 1.Client向目标VIP发出请求,Director(负载均衡器)接收.此时IP包头及数据帧头信息为: 2.Director根据负载均衡算 ...

  2. 在Myeclipse中查看android源码就是这么easy

    在开发android 时不能查看源码必是很不爽的一件事,看过网上一些文章后(都是2.0以前的版本,跟我的2.2最新版本的配置是不一样的)不过还是给了我启示,通过配置终于可以在myeclipse中查看源 ...

  3. 【ASP.NET Core MVC 入门须知】Net Core和Net Framework 的区别

     1.简单介绍 从上面图中我们可以看到.net  主要分为三个部分 .net FrameWork,.net Core ,Xamarin XAMARIN  主要用来构建APP的主要用的是C#语言 .NE ...

  4. 【Qt开发】实现系统托盘,托盘菜单,托盘消息

    概述 系统托盘就是在系统桌面底部特定的区域显示运行的程序.windows在任务栏状态区域,linux在布告栏区域.应用程序系统托盘功能,是比较普遍的功能,本篇将详细的介绍如何实现该功能. 演示Demo ...

  5. 我也学习JAVA多线程-join

    在工作中,挺少遇到join关键字,但很多多线程资料和面试过程中,初中级开发工程师总会遇到join. 今天一起学习下join. join的作用:等待指定的时间(当为0时,一直等待),直到这个线程执行结束 ...

  6. loj 6433 「PKUSC2018」最大前缀和 题解【DP】【枚举】【二进制】【排列组合】

    这是个什么集合DP啊- 想过枚举断点但是不会处理接下来的问题了- 我好菜啊 题目描述 小 C 是一个算法竞赛爱好者,有一天小 C 遇到了一个非常难的问题:求一个序列的最大子段和. 但是小 C 并不会做 ...

  7. 求幂大法,矩阵快速幂,快速幂模板题--hdu4549

    hdu-4549 求幂大法.矩阵快速幂.快速幂 题目 M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 ...

  8. C#以管理员权限运行源码,C#软件获取管理员权限,c#获取管理员权限

    C#以管理员权限运行源码,C#软件获取管理员权限,c#获取管理员权限 发布时间:2014-10-19 21:40内容来源:未知 点击: 次 windows 7和vista提高的系统的安全性,同时需要明 ...

  9. [大数据入门] Cloudera-Hadoop 理论

    Hadoop 发明者Doug Cutting Cloudera Hadoop 是基于Java 开发的集群环境,所以每个节点都需要安装Java 运行环境(即JDK),通过Cloudera Manager ...

  10. 【转载】伪静态SQL注入

    伪静态,主要是为了隐藏传递的参数名,伪静态只是一种URL重写的手段,既然能接受参数输入,所以并不能防止注入.目前来看,防止注入的最有效的方法就是使用LINQ.常规的伪静态页面如下:http://www ...