linux环境搭建和部署,Linux下nginx的安装部署和配置

76accdd87391fcabebab791b310ac519.png

原文发表于:2016-02-22

安装

要安装nginx,默认情况下需要安装下面3个依赖项:

rewrite模块需要pcre库

gzip模块需要zlib库

ssl 功能(例如开启https支持)需要openssl库

当然也不是非要安装不可,不想安装也可以通过参数配置来禁用,这是后话。我第一次安装时觉得https暂时用不上就没有安装,只装了前面2个,大家可以根据实际需要决定是否安装,第一个rewirte用到的几率还是比较大的。

依赖安装

pcre 安装

下载pcre-8.38.tar.gz文件放在/home/nginx/下面:

cd /home/nginx

tar -zxvf pcre-8.38.tar.gz

cd pcre-8.38

./configure

make & make install

zlib 安装

下载zlib-1.2.8.tar.gz文件放在/home/nginx/下面:

cd /home/nginx

tar -zxvf zlib-1.2.8.tar.gz

cd zlib-1.2.8

./configure

make & make install

openssl 安装

openssl安装要很久很久,所以建议根据实际需要决定是否需要安装,不需要https功能的可以跳过此步。

下载openssl-1.0.2n.tar.gz文件放在/home/nginx/下面:

cd /home/nginx

tar -zxvf openssl-1.0.2n.tar.gz

cd openssl-1.0.2n

./config

make & make install

nginx 安装

下载nginx-1.8.1.tar.gz放在/home/nginx下,然后:

cd /home/nginx

tar -zxvf nginx-1.8.1.tar.gz

cd nginx-1.8.1

如果上面3个依赖都安装./configure --prefix=/home/nginx/nginx-1.8.1 --with-pcre=/home/nginx/pcre-8.38 --with-zlib=/home/nginx/zlib-1.2.8 --with-openssl=/home/nginx/openssl-1.0.2n --with-http_ssl_module

make & make install

特别注意结尾的--with-http_ssl_module,安装ssl的话必须要指定这个,如果只指定了--with-openssl而没有指定--with-http_ssl_module的话,启动nginx会报如下错误:

[emerg] 10464#0: unknown directive "ssl" in /home/nginx-1.8.1/conf/nginx.conf

如果只安装pcre和zlib./configure --prefix=/home/nginx/nginx-1.8.1 --with-pcre=/home/nginx/pcre-8.38 --with-zlib=/home/nginx/zlib-1.2.8 --without-http_ssi_module

make & make install

如果不安装任何模块:./configure --prefix=/home/nginx/nginx-1.8.1 --without-http_rewrite_module --without-http_gzip_module --without-http_ssi_module

make & make install

不清楚的可以通过./configure --help 查看相关参数介绍。

启动与停止# cd /home/nginx/nginx-1.8.1/sbin

# ./nginx

这样就启动了,修改了配置文件后可以:

# ./nginx -s reload(重新加载配置文件)

# ./nginx -s stop(或者停止)

nginx配置

关于nginx的配置,另外单独写了一篇博文,请参考:nginx配置总结

nginx更新模块

假如nginx已经安装好了并且平稳运行了一段时间,现在需要新安装一个模块该如何操作呢?这里就以我最近安装ssl模块为例介绍,前面说了,第一次安装nginx的时候觉得https暂时用不到就没安装,现在需要安装就没第一次那么容易了。

nginx安装新模块需要整体重新编译,所以需要知道上一次安装时的编译命令,假设nginx安装在/home/nginx/nginx-1.8.1下面,定位到sbin下面执行./nginx -V(注意V是大写)后可以查看安装时使用的命令:

[root@iZ94i7kwlagZ sbin]# ./nginx -V

nginx version: nginx/1.8.1

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)

built with OpenSSL 1.0.2n 7 Dec 2017

TLS SNI support enabled

configure arguments: --prefix=/home/nginx/nginx-1.8.1 --with-pcre=/home/nginx/pcre-8.38 --with-zlib=/home/nginx/zlib-1.2.8 --without-http_ssi_module

然后定位到源码包去重新编译,根据已有的命令再加上我们这次要安装的新模块命令,我这里是--with-openssl=/home/nginx/openssl-1.0.2n --with-http_ssl_module。注意,如果源码包删了,重新下载一个版本一致的nginx-1.8.1.tar.gz并解压,为了区分,我解压到/home/nginx/temp-nginx-1.8.1:

cd /home/nginx/temp-nginx-1.8.1

./configure --prefix=/home/nginx/nginx-1.8.1 --with-pcre=/home/nginx/pcre-8.38 --with-zlib=/home/nginx/zlib-1.2.8 --with-openssl=/home/nginx/openssl-1.0.2n --with-http_ssl_module

make

切记这里仅仅需要make,不需要make install。执行完之后我们在/home/nginx/temp-nginx-1.8.1/objs/下得到了一个新的二进制文件nginx,上面所有操作都是为了得到这个文件,然后将这个文件覆盖现有nginx文件即可(为了以防万一,最好备份一下):

cd /home/nginx/nginx-1.8.1/sbin/

./nginx -s stop # 先停止

cp ./nginx ./nginx.backup # 备份

cd /home/nginx/

cp temp-nginx-1.8.1/objs/nginx nginx-1.8.1/sbin/nginx # 覆盖

然后启动nginx查看是否正常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值