Linux下nginx的安装部署和配置
2018-01-20 10:31
741 查看
安装
要安装nginx,默认情况下需要安装下面3个依赖项:rewrite模块需要
pcre库
gzip模块需要
zlib库
ssl 功能(例如开启https支持)需要
openssl库
当然也不是非要安装不可,不想安装也可以通过参数配置来禁用,这是后话。我第一次安装时觉得https暂时用不上就没有安装,只装了前面2个,大家可以根据实际需要决定是否安装,第一个rewirte用到的几率还是比较大的。
1.1. 依赖安装
1.1.1. 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
1.1.2. 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
1.1.3. 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
1.2. 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
1.2.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
1.2.2. 如果只安装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
1.2.3. 如果不安装任何模块:
./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查看是否正常。
相关文章推荐
- 高性能web服务器(热死你)Resin Linux的安装、配置、部署,性能远超Nginx支持Java、PHP等
- 高性能web服务器(热死你)Resin Linux的安装、配置、部署,性能远超Nginx支持Java、PHP等
- [Linux]在Linux上部署Java开发环境笔记(一):虚拟机安装Linux,配置Linux和主机XP能互Ping成功
- linux编译安装及配置Nginx(包含pcre), 日志定时切割
- 【Linux】Nginx安装、部署--CentOS5.4
- Linux(Ubuntu)下Nginx安装配置及与Tomcat整合
- nginx 0.6.3 安装与配置(linux,nginx,php-cgi)
- [Linux] Ubuntu_9.04_server安装nginx+php(fastcgi)+nginx虚拟主机配置格式
- linux 下安装配置jboss as7以及部署应用
- Memcached高速缓存服务器部署及应用(二、Memcached在Linux平台下安装与配置)
- Linux:Tomacat安装配置,项目部署
- Linux下Nginx+PHP+Mysql安装,Nginx配置文件支持PHP
- Nginx在Linux下的安装与配置
- Linux+Nginx+Apache+PHP+Mysql安装配置笔记
- LNMP安装配置-linux Nginx/Mysql/Php/Phpmyadmin(CentOS vps)
- linux 下 nginx phpcgi 的安装及配置
- Linux 编译安装Nginx 配置 Python FastCGI Django (3) 配置nginx和django
- 在Linux下安装nginx,配置及参数
- linux 下 nginx phpcgi 的安装及配置
- Linux 下Nginx 的安装及负载均衡的简单配置