FreeBSD 6.1 入门级Web服务器配置手记中


关于FreeBSD的介绍,我这里就不写了,大家可以自己找找,有很多

  如果你是高手的话,请多多批评指正,因为本人毕竟只研究了3个星期左右,难免出现纰漏

  本文的目的,是记录我自己的研究过程,仅作参考,千万不要完全照搬

  最好的教程是:

  FreeBSD Handbook 简体中文版

  如果大家真心要驾驭FreeBSD,一定要看!

  最后,致那些像我一样如果对FreeBSD感兴趣的新手:

  一定要有耐心!坚持不下去的时候多想想当年学习Windows的情况^_^说实话,FreeBSD的界面不友好,别说Windwos跟Mac,可能连Linux都不如-_-!不过,在它桀骜不驯的外表下,是一颗强健稳定的心,需要用耐心去征服——并且这也是值得的!

  本文阅读说明

  QUOTE: (这样的表示在命令行下的输入和执行)

  CODE: (这样表示的是选项)

  这样表示的是文件内容(如果原文件没有,本文有,请新增;如果原文件有,本文没有,则保持不变;如果原文件有,本文也有,请按照范例修改;如果原文件跟本文都没有,自己看着办吧^_^)

  好了,按步骤开始!

  一、安装系统

  这部分比较简单

  出现启动菜单时,按2(禁用acpi启动,服务器不用电源管理)

  选择国家->China

  选择键盘布局->USA ISO

  出现安装菜单,选择Standard

  提示需要对硬盘分区,回车,出现分区表,比较简便的方法是按a(使用整个硬盘),分区完成后,按q退出(磁盘分区请参考:http://doc.code365.net/Manual/FreeBSD_HandBook/install-steps.html和http://doc.code365.net/Manual/FreeBSD_HandBook/configtuning-initial.html)

 提示选择启动方式->Standard(服务器用的是单系统,所以不需要启动管理器Bootmgr)

  提示需要划分lable,回车,出现磁盘编辑画面,比较简便的是按a(自动划分),完成后,按q退出出现安装选项,选择Minimal(最小化安装)

  选择安装媒体,当然是CD/DVD,出现提示,再次确认。2-3分钟后安装完成,出现提示,回车确认

  提示是否配置网络->Yes

  出现菜单,选择接入公网的网卡/接口

  提示是否配置ipv6->No

  提示是否通过DHCP配置(根据自己情况选择)

  出现网络配置界面,依次检查/填好各选项,确认(如果自定义的网络设置,会提示是否立即应用,确认即可)

  提示是否将本机作为网关->No

  提示是否配置inetd->No

  提示是否启用SSH连接(远程控制)->Yes

  提示是否应用匿名的FTP->No

  提示是否将本机作为NFS服务器->No

  提示是否将本机作为NFS客户端->No

  提示是否配置系统控制台->No

  提示是否设定时区/时间->Yes

  提示是否与UTC同步->No

  选择区域->Asia

  选择国家->China

  选择时区->1

  出现提示,回车确认

  提示是否启用Linux二进制兼容->No(可以兼容90%以上的Linux程序,不过服务器用不上)

  提示配置鼠标->No

  提示是否永远禁用ACPI->Yes(服务器无需电源管理)

  提示是否浏览软件包->No

  提示是否增加用户->Yes(在这里配置将来的远程访问用户)

  出现菜单,选择User

  填好Login ID ,Member groups = wheel , Password后确认(提示:FreeBSD默认情况下只允许wheel用户组成员远程登录,需要修改关键配置时可以su到root,这是“”洋葱式“安全机制的体现)

 退出编辑用户菜单

  提示配置root密码,回车确认

  输入2次密码

  提示是否编辑其它选项->No

  退出安装菜单

  出现提示->Yes

  第一次启动时,会提示生成远程访问密钥,回车确认

  二、系统更新和优化

  同步系统时间

  QUOTE:

  # ntpdate clepsydra.dec.com

  安装cvsup

  QUOTE:

  # pkg_add –r cvsup-without-gui ; rehash

  选择需要更新的内容(如果不在乎更新时间的话可以跳过)

  可以有选择地更新系统源码和ports树,参考http://doc.code365.net/Manual/FreeBSD_HandBook/cvsup.html

  关于release跟stable的选择:从字面上理解,stable是稳定版之意,并且好多人认为stable是做服务器的最佳选择。不过官方称stabel只不过是current的一个分支,并不推荐用于生产服务器,生产级服务器应选择release(正式发行)版本http://doc.code365.net/Manual/FreeBSD_HandBook/current-stable.html

  QUOTE:

  # ee /usr/share/examples/cvsup/standard-supfile

  # ee /usr/share/examples/cvsup/ports-supfile

  更新系统源码跟ports树

  根据自己网络情况选择速度最快的cvsup镜像站点,官方列表http://doc.code365.net/Manual/FreeBSD_HandBook/cvsup.html

  QUOTE:

  # cvsup -L 2 -h cvsup3.tw.freebsd.org /usr/share/examples/cvsup/standard-supfile ; rehash ;

# cvsup –L 2 –h cvsup3.tw.freebsd.org /usr/share/examples/cvsup/ports-supfile ; rehash

  编译内核

  QUOTE:

  # dmesg | more        #获得当前设备资源列表

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

  # cp GENERIC MYKERNEL

  # ee MYKERNEL

  # 具体选项请参考http://doc.code365.net/Manual/FreeBSD_HandBook/kernelconfig-config.html

  其中需要注意的是

  CODE:

ident        MYKERNEL    #内核标记名称
options    QUOTA        #启用磁盘配额

  QUOTE:

  # cd /usr/src

  # make -j4 buildworld ; rehash ; make –j4 buildkernel KERNCONF=MYKERNEL ; rehash ; make –j4 installkernel KERNCONF=MYKERNEL ; reboot

  QUOTE:

  # cd /usr/src

  # mergemaster –p ; make –j4 installworld ; mergemaster ; reboot

  (出现提示,回车继续,或输入i安装)

  QUOTE:

  #cd /usr/obj

  #chflags -R noschg *

  #rm -rf *

  网络优化

  QUOTE:

  # ee /etc/sysctl.conf

  CODE:

net.inet.ip.check_interface=1
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.tcp.recvspace=65535
net.inet.tcp.sendspace=65535
kern.ipc.somaxconn=32768
kern.ipc.maxsockbuf=2097152
net.inet.ip.redirect=0
net.inet.icmp.icmplim=100
net.inet.tcp.always_keepalive=1
net.inet.tcp.delayed_ack=1
net.inet.udp.maxdgram=65535
net.local.stream.sendspace=65535
net.local.stream.recvspace=65535
kern.maxfiles=65536
kern.maxfilesperproc=65536
net.inet.udp.checksum=1
net.inet.tcp.msl=7500
net.inet.tcp.syncookies=1
net.inet.icmp.bmcastecho=0
net.inet.icmp.maskrepl=0
kern.securelevel=0
QUOTE:

  # cd /usr/ports/chinese/cce/

  # make install clean ; rehash

  以后就可以通过cce命令来启动中文环境了

  安装perl

  QUOTE:

  # cd /usr/ports/lang/perl5.8

  # make install clean ; rehash

  安装openssl(可选)

  QUOTE:

  # cd /usr/ports/security/openssl

  # make install clean ; rehash

  安装Ports检查更新工具

  QUOTE:

  # cd /usr/ports/sysutils/portupgrade

  # make install clean ; rehash

  默认选项

  2、AMP环境配置

  安装mysql

  QUOTE:

# cd /usr/ports/databases/mysql40-server
# make install clean ; rehash
# cd /usr/ports/databases/mysql40-scripts
# make install clean ; rehash
# /usr/local/bin/mysql_install_db
# ln -s /usr/local/lib/mysql/libmysqlclient.so.12 /usr/lib
# chown -R mysql /var/db/mysql
# chown -R root /var/db/mysql
# chown -R mysql:mysql /var/db/mysql
# chmod 700 /var/db/mysql

  优化mysql

  QUOTE:

  # ee /etc/my.cnf

  CODE:

[mysqld]
skip-networking
skip-innodb
skip-bdb
skip-name-resolve
skip-locking
#log-bin
# 以下选项基于2G内存
key_buffer=512M
max_allowed_packet=4M
table_cache=1024
thread_cache=64
join_buffer_size=32M
sort_buffer=32M
record_buffer=32M
max_connections=512
wait_timeout=120
interactive_timeout=120
max_connect_errors=30000
long_query_time=1
max_heap_table_size=256M
tmp_table_size=128M
thread_concurrency=8
myisam_sort_buffer_size=128M
 mysql随系统启动

  QUOTE:

  # cp /usr/local/etc/rc.d/mysql-server /usr/local/etc/rc.d/mysql.sh

  # ee /etc/rc.conf

  CODE:

  mysql_enable="YES"

  启动mysql

  CODE:

  # /usr/local/etc/rc.d/mysql-server.sh start

  安装apache22

  QUOTE:

  # cd /usr/ports/www/apache22

  # make install clean ; rehash

  安装过程中,取消ipv6

  apache随系统启动

  QUOTE:

  # ee /etc/rc.conf

  CODE:

  apache22_enable="YES"

  启动apache

  QUOTE:

  # /usr/local/etc/rc.d/apache22.sh start

  安装php

  QUOTE:

  # cd /usr/ports/lang/php5

  # make install clean ; rehash

  安装过程中,选择apache,取消ipv6

  安装php扩展

  CODE:

  # cd /usr/ports/lang/php5-extensions

  # make install clean ; rehash

  选择

  CALENDAR

  CTYPE

  GD

  ICONV

  MBSTRING

  MYSQL

  PCRE

  SESSION

  SOCKETS

  ZIP

  ZLIB

  配置php

  QUOTE:

  # cd /usr/local/etc

  # cp php.ini-recommended php.ini

  # ee php.ini

  CODE:

  ; 基于安全考虑,禁用某些功能,根据自己情况修改

  disable_functions = passthru, exec, phpinfo, system, ini_alter, readlink, symlink, leak, proc_open, popepassthru, chroot, scandir, chgrp, chown, escapeshellcmd, escapeshellarg, shell_exec, proc_get_status

  配置apache

  具体选项参考http://doc.code365.net/Manual/ApacheManual/

 QUOTE:

  # ee /usr/local/etc/apache22/httpd.conf

  CODE:

DocumentRoot "/usr/www"    # 网站主目录
<Directory "/usr/www">    # 网站主目录
Options FollowSymLinks
<IfModule dir_module>
DirectoryIndex index.html index.php index.htm
</IfModule>
<IfModule mime_module>
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>
AddDefaultCharset GB2312
ServerTokens Prod
ServerSignature Email
<IfModule prefork.c>    # 优化针对BSD的网络支持
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 10000
</IfModule>

  安装ZendOptimizer

  ZendOptimizer属于商业软件,所以不能通过ports编译安装,只能下载安装

  QUOTE:

# ln -s /lib/libm.so.3 /lib/libm.so.2
# mount /cdrom
# cp -R /cdrom/Zend /usr/ports/devel/Zend
# cd /usr/ports/devel/zend
# ./install

  一路默认

  安装phpmyadmin

  也可以通过传统方式,通过ftp下载/上传到机器上,配置好参数即可运行。

  QUOTE:

  # cd /usr/ports/databases/phpmyadmin

  # make install clean ; rehash

  默认选项

  QUOTE:

  # cp -R /usr/local/www/phpMyAdmin /usr/www/phpMyAdmin

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3