[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 系统管理 > FreeBSD > 正文
 

FreeBSD WEB服务器架设笔记 2

作者:tahiti 来源:落伍者 (2005-12-14 18:06:40)

安装服务器软件

mysql

  Code: [Copy to clipboard]  
cd /usr/ports/databases/mysql4-server


因为我安装系统时将数据库单独分了一个区存放,所以我要修改一下mysql默认的数据库存放目录

  Code: [Copy to clipboard]  
ee Makefile




  Code: [Copy to clipboard]  
DB_DIR?= 你的数据库存放目录
#CONFIGURE_TARGET那行前面的空行加上两行优化选项:
BUILD_OPTIMIZED=yes
BUILD_STATIC= yes


保存退出编辑。然后

  Code: [Copy to clipboard]  
make
make install clean


安装完毕后,加大mysql的最大连接数

  Code: [Copy to clipboard]  
ee /usr/local/bin/mysqld_safe


向下寻找到第314行(4.0.20版是314行),其行很长,以“$NOHUP_NICENESS”开头,以“>> $err_log 2>&1”结尾。该行被嵌套在一个if语句里。在314这行末尾的“ >> $err_log 2>&1”前面加上“ -O max_connections=1000 ”,(注意前后各留一个空格)。
然后向下找到316行,也是很长的一行,以“eval "$NOHUP_NICENESS”开头,以“>> $err_log 2>&1”结尾。同样在“ >> $err_log 2>&1”前面加上“ -O max_connections=1000 ”。
保存退出。然后重启,此时的mysql40就是1000个并发连接的数据库了。可以用下面的方法检查一下:

  Code: [Copy to clipboard]  
cd /usr/local/bin
mysqladmin -uroot -p variables


将会打出一个长列表,按scroll lock后向上卷动屏幕,能看到里面有一项显示

| max_connections | 1000 |

那么表示最大并发连接数已经修改到1000了。

修改 mysql 的 root 密码

  Code: [Copy to clipboard]  
mysqladmin -u root password '你要的密码'

apache

先安装openssl

  Code: [Copy to clipboard]  
cd /usr/ports/security/openssl
make install clean


然后升级一下 expat2

  Code: [Copy to clipboard]  
cd /usr/ports/textproc/expat2
make deinstall
make install clean


安装 apache2

  Code: [Copy to clipboard]  
cd /usr/ports/www/apache2
make install clean


安装 apache 的 mod

fastcgi:

  Code: [Copy to clipboard]  
cd /usr/ports/www/mod_fastcgi
make WITH_APACHE2=yes install clean


OK,完成了。

下来是php:

  Code: [Copy to clipboard]  
cd /usr/ports/www/mod_php4
make install clean


安装后的设置:
看一下 /usr/etc/apache2 目录下面已经有几个 httpd 的设置文件了,拷一个当正式的配置文件

  Code: [Copy to clipboard]  
cp /usr/local/etc/apache2/httpd-dist.conf /usr/local/etc/apache2/httpd.conf


然后编辑 httpd.conf

  Code: [Copy to clipboard]  
ee /usr/local/etc/apache2/httpd.conf




  Code: [Copy to clipboard]  
#增加对php的支持,在AddType application/x-gzip .gz .tgz后面加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

#随后设置网站默认启动页允许为index.php,找到 DirectoryIndex这行,改为:
DirectoryIndex index.html index.htm index.php index.html.var

#再设置apache默认字符集为简体中文。找到 AddDefaultCharset 改成:
AddDefaultCharset GB2312

#另外,一个访问量较大的网站,apache默认的150连接肯定是不行的。以下各行改为:
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 10000


最后,要在服务器启动时自动启动 apache,需要编辑 /etc/rc.conf

  Code: [Copy to clipboard]  
ee /etc/rc.conf


加入以下两行:

  Code: [Copy to clipboard]  
apache2_enable="YES"
apache2ssl_enable="YES"


这时候,你可以用以下命令来试着启动 apache

  Code: [Copy to clipboard]  
/usr/local/etc/rc.d/apache2.sh start


===============================================
如果提示说 ssl.conf 配置文件某行有错,server.crt 证书文件不存在的话,那么恭喜你,跟我一样中奖了,我不知道这是否是 apache2 port的一个bug,总之这样安装完的apache+mod_ssl 是没有服务器证书的,apache2启动失败了,我们需要手工来签属一个可用的证书
先下载一下证书生成程序:http://www.openssl.org/contrib/ssl.ca-0.1.tar.gz
然后:

  Code: [Copy to clipboard]  
tar zxvf ssl.ca-0.1.tar.gz
cd ssl.ca-0.1
./new-root-ca.sh
./new-server-cert.sh server
./sign-server-cert.sh server           


我只写了相关的命令,后面三个命令执行时会有一系列的问题需要回答:密码、省份、城市、机构  。。。。有够烦的,自己看着办吧,赫赫
不过友情提示一下:./new-server-cert.sh server 的时候,commonName 最好设成跟你的 ServerName 一样,不然 apache 启动中会生成错误日志。

好了,然后到 /usr/local/etc/apache2 目录下面建两个目录来存放刚才生成的 crt 和 key 文件

  Code: [Copy to clipboard]  
mkdir ssl_crt
mkdir ssl_key


然后将刚才生成的四个文件放到新目录下面,再修改属性,以策安全

  Code: [Copy to clipboard]  
cp ca.crt /usr/local/etc/apache2/ssl_crt
cp ca.key /usr/local/etc/apache2/ssl_key
cp server.crt /usr/local/etc/apache2/ssl_crt
cp server.key /usr/local/etc/apache2/ssl_key
cd /usr/local/etc/apache2/ssl_key
chmod 444 server.key
chmod 444 server.key
cd /usr/local/etc/apache2/ssl_crt
chmod 444 server.crt
chmod 444 server.crt


OK,搞定,现在启动 apache2 应该没有问题了



(http://www.fanqiang.com)



 
 相关文章
Linux 核心--17.关于Linux的Web与FTP站点 --18.作者简介 2001-04-27 14:11:04
Solaris 8 新增功能一览--(9)Web 服务 2001-06-13 18:08:00
Solaris 8 (Intel 平台版本)安装指南 --2.使用Solaris Web Start安装 2001-06-15 19:00:00
构建SCO UNIX下的Web服务器 2001-06-30 23:41:46
多服务器的日志合并统计——apache日志的cronolog轮循和webalizer合并统计 2002-12-23 06:02:00
Web服务器(一)Apache服务器 2002-02-18 07:15:00
Web服务器(二)Tomcat服务器 2002-02-19 06:15:00
Web服务器(三)Apache+Jserv整和 2002-02-19 07:15:00
Web服务器(四)Linux下Apache、php3、MySQL的整合 2002-02-20 06:15:00
Web服务器(五)为Apache增加SSL安全保护 2002-02-20 07:15:00
Java及Web应用(一) 2001-04-21 17:19:33
Java及Web应用(二) 2001-04-21 17:22:26
CGI与WEB服务器的响应头 2001-08-22 10:00:00
如何通过web安全添加系统用户 2001-04-21 18:14:06
使用反向代理技术保护Web服务器 2001-05-10 11:06:43
qmail+vpopmail+sqwebmail的安装步骤 2001-04-21 17:08:56
建一个大容量的webmail系统 2001-04-21 17:32:16
qmail Vpopmail And sqwebmail HOWTO - 1:介绍 2001-09-03 07:00:01
qmail Vpopmail And sqwebmail HOWTO - 2:准备工作 2001-09-03 08:00:00
qmail Vpopmail And sqwebmail HOWTO - 3:获得各组件 2001-09-03 09:00:00
 

★  感谢所有的作者为我们学习技术知识提供了一条捷径  ★
www.fanqiang.com