今天想学学 nginx,于是先把它安装起来。按照 http://nginx.org/en/linux_packages.html 上面的方法,在我的 ubuntu 虚拟机上很容易地就安装好了。可是要运行的时候,找了半天也没找到。搜了一下,才知道是放在了 /etc/init.d 下,可是配置文件又不知道在哪放着了。感觉这样安装完后很不方便,于是下载了 source,根据 nginx.org/en/docs/configure.html 上面说的安装,当然先把前面装的卸载了。需要的 PCRE 可以在 https://ftp.pcre.org/pub/pcre/ 下载, zlib 可以在 http://zlib.net/ 下载。

在解压 source 后的目录下,运行如下命令:

./configure --prefix=/opt/programs/nginx-1.12.2 --with-http_ssl_module --with-http_stub_status_module --with-pcre=/opt/programs/pcre-8.41 --with-openssl=/usr/bin/openssl --with-zlib=/opt/programs/zlib-1.2.11

一开始没有加 --with-openssl=/usr/bin/openssl 这个参数,会报错,说找不到 openssl,我明明是安装的,上网找了一下,才发现安装的 openssl 的执行文件不在 ./configure 默认搜索的几个目录下。加上这个参数后,就没问题了。

上面命令成功后,需要运行如下命令才是真正安装:

make && make install

让我崩溃的事情发生了,上面下载的 PCRE 和 zlib 我都只是解压了,并没有安装,运行上面的命令时报错了(“recipe for target '/opt/programs/pcre-8.41/Makefile' failed”),看来还要安装 PCRE 和 zlib, 安装时候,遇到了很多依赖的包的版本不一致而无法安装的问题,有种崩溃的感觉。不知道为什么按照第一种(package)的方式为什么就没有这些问题。突然想起来,以前这台虚拟机连 mysql 安装都有问题,也是包依赖版本啥的产生的问题,试了网上的各种方法都解决不了。还是弄一台新的虚拟机试一下吧。在新装的虚拟上,执行下面的操作,毫无阻碍的成功了。在装新的虚拟机的时候看到有说淘宝在 nginx 的基础上,添加了一些功能,并完全兼容 nginx,详见 http://tengine.taobao.org,于是我装的是这上面的 tengine

1. tar -zxvf tengine-2.2.2.tar.gz

2. cd tengine-2.2.2

3. apt-get install make

4. apt-get install libpcre3 libpcre3-dev (会安装需要的 pcre)

5. apt-get install zlib1g-dev (会安装需要的 zlib)

6. apt-get install openssl libssl-dev  (安装需要的 openssl)

7. ./configure --prefix=/opt/programs/tengine \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--pid-path=/var/run/nginx/nginx.pid  \

--lock-path=/var/lock/nginx.lock \

--with-http_ssl_module \

--with-http_flv_module \

--with-http_stub_status_module \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/tmp/nginx/client/ \

--http-proxy-temp-path=/var/tmp/nginx/proxy/ \

--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \

--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \

--http-scgi-temp-path=/var/tmp/nginx/scgi \

--with-pcre  (不能直接复制,需去掉换行及 “\” 符号)

8. make && make install

运行nginx: /opt/programs/tengine/sbin/nginx

如果我们修改了配置文件,可以运行以下命令来检查配置是否正确:  /opt/programs/tengine/sbin/nginx -t

停止 nginx:/opt/programs/tengine/sbin/nginx -s stop

重启 nginx:/opt/programs/tengine/sbin/nginx -s reload

nginx 安装遇到的问题的更多相关文章

  1. zabbix 3.0.3 (nginx)安装过程中的问题排错记录

    特殊注明:安装zabbix 2.4.8和2.4.6遇到2个问题,如下:找了很多解决办法,实在无解,只能换版本,尝试换(2.2.2正常 | 3.0.3正常)都正常,最后决定换3.0.3 1.Error ...

  2. Nginx 安装以及反向代理配置(windows)

    安装 windows 下 Nginx 安装非常简单,下载地址 http://nginx.org/en/download.html. 选择红框这个,下载下来是个 zip 文件,解压.这时我们双击根目录的 ...

  3. nginx安装与配置

    一.在线安装 ubuntu 安装 sudo apt-get install nginx 安装后文件结构为: 配置文件:/etc/nginx ,并且每台虚拟主机已经安排在 /etc/nginx/site ...

  4. Windows下将nginx安装为服务运行

    今天看到nginx这个小服务器软件正式版更新到了1.4.2,想玩下它.这个服务器软件虽小,但功能强大,是开源软件,有着良好的性能,被很多个人.企业,甚至大型企业所使用! 由于是在Windows下,所以 ...

  5. windows下nginx安装、配置与使用(转载)

    目前国内各大门户网站已经部署了Nginx,如新浪.网易.腾讯等:国内几个重要的视频分享网站也部署了Nginx,如六房间.酷6等.新近发现Nginx 技术在国内日趋火热,越来越多的网站开始部署Nginx ...

  6. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  7. Linux系统下Nginx安装详解

    该随笔为个人原创,后期会根据项目实践实时更新,如若转载,请注明出处,方便大家获得最新博文! 注:安装Nginx需要Linux系统已经安装   openssl-fips-2.0.2.tar.gz zli ...

  8. Linux下查看Nginx安装目录、版本号信息?

    Linux环境下,怎么确定Nginx是以那个config文件启动的? 输入命令行: ps  -ef | grep nginx 摁回车,将出现如下图片: master process 后面的就是 ngi ...

  9. nginx安装及负载均衡配置

    Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二 ...

  10. nginx安装方式

    1.首先安装pcre库 获取pcre到一个目录 wget http://ftp.exim.llorien.org/pcre/pcre-8.21.tar.gz 解压缩pcre包 tar -zxvf pc ...

随机推荐

  1. ES doc_values的来源,field data——就是doc->terms的正向索引啊,不过它是在查询阶段通过读取倒排索引loading segments放在内存而得到的?

    Support in the Wild: My Biggest Elasticsearch Problem at Scale Java Heap Pressure Elasticsearch has ...

  2. director.js实现前端路由

    注:director.js的官网 https://github.com/flatiron/director director.js是什么? 理解:前端的route框架,director.js客户端的路 ...

  3. (转)gcov、lcov与genhtml 使用心得

    gcc是linux平台下的C.C++ 编译器 gcov是配合gcc产生覆盖信息报告的工具: lcov是将gcov产生的报告信息,以更直观的方式显示出来工具 基本的使用方法分为4个阶段: (一).gcc ...

  4. 关于c++中的全局变量(不赋值的全局变量算定义)

    定义有三种: 1.不赋值的定义:int a; 2.赋值的定义:int a=5; 或者 int a;a=5; 3.加extern的定义:extern int a=5;//其实和不加是一样的. 声明只有一 ...

  5. java try中包含return语句,finally中的return语句返回顺序

    //结论: finally 中的代码比 return 和 break 语句后执行 public static void main(String[] args) { int x=new Test.tes ...

  6. I.MX6 Python3 OpenCV

    /************************************************************************* * I.MX6 Python3 OpenCV * ...

  7. 常用调试工具gdb,dbx,valgrind介绍一

    类UNIX下C/C++开发,代码调试比较麻烦,最原始的加跟踪调试很土,也很费时,特别是一个庞大的项目,代码行数非常大的时候调试起来非常费劲,当core dump时定位也不容易,这里介绍几个常用工具: ...

  8. Python语言及其应用 第2章

  9. 1045 Favorite Color Stripe (30)(30 分)

    Eva is trying to make her own color stripe out of a given one. She would like to keep only her favor ...

  10. [转]HTTP中cache-control的应用及说明

    网页的缓存是由http消息头中的“Cache-control”来控制的,常见的取值有private.no-cache.max-age.must-revalidate等,默认为private.其作用根据 ...