Freebsd10.3(FreeBSD11 Beta1)使用手記php
1.安裝系統。html
2.設置ssh2登陸,並開啓ftp。mysql
(1)編輯/etc/ssh/sshd_config文件,設置以下:nginx
PermitRootLogin yessql
PermitEmptyPasswords no數據庫
PasswordAuthentication yesphp7
(FreeBSD11作以上設置後,用SecureCRT鏈接的時候,須要將Save Session去掉,這裏沒有搞清楚)ssh
(2)從新啓動sshdcurl
/etc/rc.d/sshd restartphp-fpm
這時,能夠離開安裝機器,從遠程用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文件,是否是發現小了不少,機器啓動速度也比之前要快一些呢。