• Solaris 下nginx的安装


          参与现在这个项目一年多了,也该写写总结了。这个项目通过nginx来做到负载分摊的,因此,今天先把nginx在Solaris上的安装和起停先总结下。

          nginx是个很强大的负载http转发器。在Solaris上安装nginx其实是一件很简单的事,但是当初我刚接触Solaris时候,不是很熟悉Solaris下的程序安装,费了很大的事。

          刚开始安装nginx是项目组的开发人员先做了尝试,他给了我nginx-0.7.65,然后下载libiconv,libintl,还有gcc,还有一本实战nginx的电子书,让我安装在测试机上(一台Solaris机器)。

          除了nginx外,其它3个以来的程序都是Solaris的包,我先去看了下Solaris的pkg的管理,顺利的将这3个包安装上了,不过接下来运行./configure时老是报错找不到lib**.so,后面在/usr/local/lib中找到了这个文件,不过很郁闷,我们怎么运行./configure,它总是会出错。./configure运行出错后,当然不能进行编译了。

          当时比较傻,从网上看到有人说在/usr/lib中建立了符号连接,链到/usr/local/lib中就能解决这个问题,就以为可能是nginx在确认配置时候是需要某些库文件的,而这些库文件必须在/usr/lib中。

          事实上,nginx在./configure时候,确实是需要检查一些依赖的库文件的,而系统的库文件是存放在/usr/lib下的,系统安装好之后,再去安装Solaris的包文件,新加进来的库文件会存放到/usr/local/lib下,新加进来的可执行文件会放到/usr/local/bin目录下。

          Solaris中有个环境变量LD_LIBRARY_PATH专门用来告诉操作系统,程序执行时所需要的库文件存放在什么位置。当时不知道这个,就只能在/usr/lib中创建符号连接,链到/usr/local/lib中的那个.so文件上了,傻傻的照着网上某个也不是很懂的人的操作,跟着傻逼了一回。

          好了,反正不管怎么着,nginx的./configure是通过了,然后就是make,make install了。运行完成后,就在/usr/local/nginx目录下安装好了nginx。

        最后简洁介绍下ngxin的安装步骤:

    1. 安装nginx依赖的包,首先pcre(这个是必须的,nginx的rewrite模块就是要靠这个才能跑起来),然后pcre包又依赖ncure,gcc包又依赖libiconv和libintl
    2. 设置好LD_LIBRARY_PATH变量,可以在运行nginx之前在启动脚本中添加export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib 注意,不同路径之间是用冒号隔开的。当然,如果图省事,直接在用户的.profile文件中设置好也行。
    3. 解压nginx源文件,进入目录,运行./configure,注意,默认是没有将http_status_stub_module包含进去的。需要加个参数:./configure --with-http_stub_status_module。这个模块能够获取Nginx自上次启动以来的工作状态。引用下原英文说明:This module provides the ability to get some status from nginx.This module is not compiled by default and must be specified using the --with-http_stub_status_module argument to configure when compiling Nginx.
    4. 启动nginx,此时需要有超级用户权限,理由是nginx/conf下的几个文件,在普通用户执行nginx时候,调用会报错。

    nginx的启动和停止,还有平滑启动,我在先前有发了一篇blog,专门贴了一个nginx的控制脚本,参照那个就行了。

    后记:

          nginx安装时,gcc安装不是必须的,因为系统中自带了gcc(系统安装时候,选择系统安装类型为oem就行了),在/usr/sfw/bin下。顺带提一下,sfw有点像是sunfreeware的简写。www.sunfreeware.com 上面有很多Solaris下会用到的包。但上面的nginx的包,安装好之后,发现它没有把http_status_stub_module模块包含进去,这样,后面如果想配置图形化监控nginx的运行状态,可能会遇到点麻烦。

  • 相关阅读:
    《linux内核设计与实现》读书笔记第十八章
    20135337朱荟潼 Linux第八周学习总结——进程的切换和系统的一般执行过程
    2013337朱荟潼 Linux第四章读书笔记——进程调度
    2013337朱荟潼 Linux&深入理解计算机系统第七章读书笔记——链接
    20135337朱荟潼 Linux第七周学习总结——可执行程序的装载
    2013337朱荟潼 Linux第三章读书笔记——进程管理
    20135337朱荟潼 Linux第六周学习总结——进程的描述和进程的创建
    2013337朱荟潼 Linux第十八章读书笔记——调试
    20135337朱荟潼 Linux第五周学习总结——扒开系统调用的三层皮(下)
    2013337朱荟潼 Linux第五章读书笔记——系统调用
  • 原文地址:https://www.cnblogs.com/leipei2352/p/1997313.html
Copyright © 2020-2023  润新知