FreeBSD上构架Nginx服务器
来源:互联网 发布:买宠物的软件 编辑:程序博客网 时间:2024/06/08 16:39
FreeBSD上构架Nginx服务器
(2013-07-02 15:36:51)freebsd
nginx
安装
it
分类: FreeBSD这篇文章主要记录作者如何在FreeBSD上构架Nginx服务器。作者采用下载该程序的一个源代码包手动编译的方法,而不是使用包管理工具。这样做有两个原因:首先包质量不能保证,或无效或版本旧;其次需要在编译时对多种重要的选项进行配置。
另外,相关FreeBSD初始优化见博主之前的博文。
1 GCC
Nginx是一个由C语言编写的程序,因此首先需要在系统上安装编译工具。我们采用常见GNU的GCC。确保系统上安装GCC:
#gcc
gcc: No input files specified
2 wget
一般在类UNIX环境下,大家喜欢使用wget下载。
#cd /usr/ports/ftp/wget
#make install clean
刚刚安装完后,wget并未能使用,需要执行下面的命令后方可生效。
#rehash
3 PCRE
在Nginx编译需要PCRE(Perl Compatible RegularExpression),因为Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。
使用ports方式安装PCRE:
#cd/usr/ports/devel/pcre
#make install clean
若原来安装有旧版本,可能会报错,使用makereinstall clean即可。
4 zlib库
zlib库提供了开发人员的压缩算法,在Ngnix的各种模块中需要使用。可以使用ports方法,在安装PHP时一同安装。在此采用独立安装方法。首先查看官方站http://zlib.net的最新版本,然后进行下载解压配置安装:
#wget http://zlib.net/zlib-1.2.8.tar.gz
#tar zxvf zlib-1.2.8.tar.gz
#cd zlib-1.2.8
#./configure --libdir=/usr/lib--includedir=/usr/include
#make install clean
5 Nginx
(1)
#wgethttp://nginx.org/download/nginx-1.5.1.tar.gz
#tar zxvfnginx-1.5.1.tar.gz
#cd nginx-1.5.1
(2)
#vim auto/cc/gcc
将约174行的“CFLAGS="$CFLAGS -g"”注释掉。
(3)
这些选项在完成程序的建立安装后不可编辑,他直接影响该项目的二进制文件。
l
#./configure
l
#./configure --user=www --group=www--prefix=/usr/local/nginx --with-http_stub_status_module--with-http_ssl_module --with-http_realip_module
其他模块也可通过选项进行安装,但可能需要安装额外的库。
l
#./configure --user=www--group=www --with-mail --with-mail_ssl_module
若仅仅作为邮件代理不使用HTTP服务,则加入选项“--without-http”
(4)
#make
#make install clean
(5)
#/usr/local/nginx/sbin/nginx -t
(6)
l
#vim /usr/local/etc/rc.d/nginx.sh
加入以下内容:(若在安装时改变了默认目录,请加以修改)
#!/bin/sh
nginx=/usr/local/nginx/sbin/nginx
conf=/usr/local/nginx/conf/nginx.conf
case $1 in
start)
echo -n "Starting Nginx"
$nginx -c $conf
echo " done"
;;
stop)
echo -n "Stopping Nginx"
killall -9 nginx
echo " done"
test)
$nginx -t -c $conf
echo -n "Reloading Nginx"
ps auxww | grep nginx | grep master | awk '{print$2}' | xargs kill -HUP
echo " done"
show)
ps -aux|grep nginx
*)
echo -n "Usage: $0{start|restart|reload|stop|test|show}"
;;
esac
exit 0
l
#chmod +x/usr/local/etc/rc.d/nginx.sh
l
#vim /etc/rc.conf
加入“nginx_enable="YES"”
- FreeBSD上构架Nginx服务器
- FreeBSD上构架Nginx服务器
- 在FreeBSD上建立一个功能完整的邮件服务器
- FreeBSD服务器的安装与优化(上)(1)
- FreeBSD服务器的安装与优化(上)(2)
- 使用 kqueue 在 FreeBSD 上开发高性能应用服务器
- 使用 kqueue 在 FreeBSD 上开发高性能应用服务器
- 使用 kqueue 在 FreeBSD 上开发高性能应用服务器
- 使用 kqueue 在 FreeBSD 上开发高性能应用服务器
- 使用 kqueue 在 FreeBSD 上开发高性能应用服务器
- FreeBSD 10.3 上的构建独立版本SVN服务器
- Windows 上搭建 nginx服务器
- nginx上配置https服务器
- Linux服务器上安装nginx
- Linux上搭建Nginx服务器
- centos nginx上搭建服务器
- Nginx平台构架
- freebsd配nginx
- Linux LB 集群知识、如何用 LVS 方式实现 LB 集群?**************************************
- 基于Eclipse的spring+Apache+mysql的开发
- iOS证书 ID 描述文件 (certificate id provisioning profile)
- 设计 4 个 ( 可以是 n 个 ) 线程,其中两个线程每次对 j 增加 1 ,另外两个线程对 j 每次减少 1
- Linux系统编程_7_进程环境之setjmp和longjmp函数
- FreeBSD上构架Nginx服务器
- 传智播客2014PHP基础就业班(28期)[高清完整版]附工具源码
- 需要时提升权限
- There is no getter for property named 'XXX' in 'class java.lang.String'
- Linux平台查看某个进程的线程
- php中mysql_connect与mysql_pconnect的区别
- 如何向妻子解释面向对象设计(OOD)
- 在VisualStudio中调试SP
- cocos2dx 源码学习6 CCGeometry