nginx 安装遇到的问题

时间:2021-11-15 04:41:23

        今天想学学 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