• 安装nginx


    安装nginx

    什么是nginx?

    说到nginx大家都不会陌生。它是一个HTTP和反向代理服务器,同时也是一个邮件代理服务器。nginx是俄罗斯程序员Igor Sysoev编写的,并在BSD 2-clause协议下开放源代码。现在很多网站都采用了nginx作为服务器,大名鼎鼎的Wordpress.com就是典型的例子。目前支持的平台也相当多,像类UNIX平台、Windows平台等。

    为什么要写这篇博客?

    虽然我没怎么用过nginx,但是现在了解一下,看看源码还是很不错的。我知道国内早就有很多人在研究nginx源码,并且有很深的造诣。我不敢跟大牛们攀比,写这些东西仅仅作为notes来记录我的学习经历以及过程中所遇到的问题,也欢迎有人来一起交流交流。

    安装nginx

    这一节谈nginx的安装,官方有英文版文档可以参考。

    安装nginx方法有很多,比如像Windows平台下可以直接下载已经编译好的二进制文件,解压完成后可以直接运行。下面我只说在Debian/Ubuntu下编译源代码的安装方法。

    首先,需要下载nginx源代码,可以在官网直接下载,也可以使用版本控制工具来下载代码,我是从github上clone到本地的。

    接下来,将代码解压后,需要执行configure命令来配置你的nginx安装信息。下面有一个配置命令的例子,是官网提供的:

    复制代码
    ./configure
        --sbin-path=/usr/local/nginx/nginx
        --conf-path=/usr/local/nginx/nginx.conf
        --pid-path=/usr/local/nginx/nginx.pid
        --with-http_ssl_module
        --with-pcre=../pcre-4.4
        --with-zlib=../zlib-1.1.3
    复制代码

    我这里简洁描述一下配置命令的几个参数的含义:

    • --prefix=path   定义服务器保存文件的目录,默认为/usr/local/nginx
    • --sbin-path=path   nginx执行文件名,默认为prefix/sbin/nginx
    • --conf-path=path   设置nginx.conf配置文件名,默认为prefix/conf/nginx.conf
    • --pid-path=path    设置nginx.pid文件名,它用来保存nginx主进程的进程ID,默认为prefix/logs/nginx.pid
    • --error-log-path=path   设置错误日志文件名,默认为prefix/logs/error.log
    • --http-log-path=path     设置HTTP请求日志文件名,默认为prefix/logs/access.log
    • --user-name=path     设置未授权用户名,默认为nobody
    • --group=name     设置组名,默认为未授权用户名
    • --with-select_module    编译或取消编译利用select()方法的模块
    • --with-poll_module     编译或取消编译利用poll()方法的模块
    • --without-http_gzip_module    取消编译HTTP服务器压缩响应的模块,需要zlip
    • --without-http_rewrite_module   取消编译HTTP服务器重定向请求或修改请求URI地址的模块,需要PCRE
    • --without-http_proxy_module    取消编译HTTP服务器代理模块
    • --with-http_ssl_module    编译添加对HTTPS协议的支持,需要OpenSSL
    • --with-pcre=path    设置PCRE库的源代码路径,下载PCRE源码后解压缩到指定的path即可,剩下的交给nginx的./configure和make命令完成
    • --with-pcre-jit    编译PCRE库支持及时编译
    • --with-zlib=path    设置zlib库源代码的路径,同样下载zlib源码后解压到指定的path即可
    • --with-cc-opt=parameters    设置CFLAGS变量的额外参数
    • --with-ld-opt=parameters    设置链接时的额外参数

            

    上面说到的zlib库、PCRE库和OpenSSL库,我在安装时都自己下载了,地址在上面也给出了,可以自己完成编译工作。

    执行configure命令后,再执行make install命令(如果你安装的路径需要授权,在前面加上sudo)。

    我是安装到了/usr/local/nginx目录下,在安装完成后配置了/etc/environment里的PATH环境变量,将我的nginx安装目录添加到了PATH路径中,/etc/environment生效后(source命令)。在终端执行nginx命令提示权限不够,执行sudo命令提示找不到nginx命令。这个问题请参考这篇博客可以解决。解决完后执行sudo nginx没有提示,再启动浏览器输入http://localhost回车,如果出现下面的页面说明安装成功。如果需要退出nginx,执行sudo nginx -s quit命令即可。

    作者:黑剑 
    出处:http://www.cnblogs.com/blacksword/ 
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    創用 CC 授權條款
    本著作係採用創用 CC 姓名標示-非商業性-相同方式分享 3.0 Unported 授權條款授權.
     
     
    标签: nginx
  • 相关阅读:
    Redis(八)理解内存
    Redis(七)Redis的噩梦:阻塞
    Redis(六)复制
    Redis(五)持久化
    笔试面试经典问题
    两个栈实现一个队列
    单链表相关操作
    我的笔记本
    10进制正整数转4位定长的36进制字符串
    微软2016校园招聘在线笔试之Magic Box
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2989853.html
Copyright © 2020-2023  润新知