场景描述:

客户生产环境服务器,内网隔离无法访问互联网,需要准备好相应的安装包,离线部署。

服务器&软件包版本:

环境:
ubunt16.04
gcc-4.8.4
包:
nginx-1.8.1
pcre-8.38
zlib-1.2.11
openssl-1.0.2n

不想自己下载的小伙伴,可以从如下链接下载上述4个包:

https://pan.baidu.com/s/1K_1Bbz_zcGKvvTljCZcwSQ 提取码: 2tj5

前置环境配置,也是安装成功的前提,即将上述相应安装包都上传复制到/usr/local 目录下。

需要用切换到root用户操作,进入到 /usr/local 目录下执行下面1 2 3 4 5 6步骤,此处路径与之后安装nginx对应,需要注意!

1. gcc --源码编译依赖的环境,必须保证系统已安装该包

apt-get install build-essential
apt-get install libtool
// gcc --version 查看gcc版本
// gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

2. PCRE ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
tar -zxvf pcre-8.38.tar.gz
cd pcre-8.38
./configure
make
make install

3. zlib http://zlib.net

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip

wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make
make install

4. penssl https://www.openssl.org/source/

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用.

nginx不仅支持http协议,还支持https(即在ssl协议上传输http)

wget https://www.openssl.org/source/openssl-1.0.2n.tar.gz
tar -zxvf openssl-1.0.2n.tar.gz

5. 安装步骤nginx

一、源码安装

1.下载 nginx 压缩包

wget https://nginx.org/download/nginx-1.8.1.tar.gz

2.解压 nginx-1.8.1.tar.gz

tar -zxvf nginx-1.8.1.tar.gz

3.解压后 我们通过 cd 命令进入到nginx-1.8.1文件夹下面

安装nginx到 /usr/local/nginx目录下

cd nginx-1.8.1

// 配置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=/usr/local/pcre-8.38 --with-zlib=/usr/local/zlib-1.2.11 --with-openssl=/usr/local/openssl-1.0.2n
// 编译
make
// 安装
make install

至此nginx安装完成!

如果使用 nginx 访问 ftp 站点内容,需要将 nginx user设置为对应 ftp user 不然会因权限不足报 403 错误

 6.启动nginx

建议使用第一种启动,否则可能会出现如下错误【nginx: [error] open() "/***/***/***/nginx.pid" failed (2: No such file or directory)】

第一种启动方式:
cd /usr/local/nginx
./nginx -c ./nginx.conf 第二种启动方式:
/usr/local/nginx/nginx
cd /usr/local/nginx 目录下:启动
./nginx -c ./nginx.conf 重新加载配置
./nginx -s reload 停止:
./nginx -s stop

附ubuntu在线安装nginx的方式:

该方式安装完成后,目录及配置文件,以及启动方式跟离线版编译安装的结果会有所区别。

apt-get install nginx
启动程序文件在/usr/sbin/nginx 日志放在了/var/log/nginx中,分别是access.log和error.log
并已经在/etc/init.d/下创建了启动脚本nginx 在线安装启动nginx
/etc/init.d/nginx start

nginx配置参数说明:

https://www.cnblogs.com/jason007/articles/9400505.html

https://blog.csdn.net/qq_33516288/article/details/77197110

ubuntu16.04 离线安装nginx的更多相关文章

  1. ubuntu16.04离线安装nvidia-docker2

    目前需要离线对ubuntu 进行封装docker环境 在熟悉docker环境过程中,有网络条件下,还处于懵逼状态 离线安装…… 大佬救救我 来了: 首先下载安装docker最新版 我的OS是Ubunt ...

  2. Ubuntu16.04.1 安装Nginx

    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev ...

  3. ubuntu16.04 离线安装docker ce

    ubuntu离线安装 docker17.05.0-ce 离线安装 不想自己下载的小伙伴可以从以下地址下载几个软件包: 链接: https://pan.baidu.com/s/1lF7t7ciMhUnW ...

  4. Ubuntu16.04下安装nginx+mysql+php+redis

    一.redis简介 Redis是一个key-value存储系统.和Memcached类似,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记 ...

  5. Ubuntu16.04编译安装php

    #Ubuntu16.04编译安装php Ubuntu16.04上面搭建基于Nginx的php服务.Nginx使用apt直接安装的. sudo apt install nginx php的安装部署步骤主 ...

  6. SLAM+语音机器人DIY系列:(二)ROS入门——3.在ubuntu16.04中安装ROS kinetic

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  7. Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel

    Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel 1.MySQL安装[安装 MariaDB]MariaDB是MySQL的一个分支首 ...

  8. Ubuntu16.04下安装数据库oracle客户端

    在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到远程Oracle数据库. 1.下载oracle客户端安装包: 进入官网http://www.oracle.com/tec ...

  9. Ubuntu16.04下安装redis

    Ubuntu16.04下安装redis 保证网络畅通,选定好下载工作路径,执行以下命令下载redis-3.2.6: sudo wget http://download.redis.io/release ...

随机推荐

  1. axios封装get方法和post方法

    我们常用的ajax请求方法有get.post.put等方法,相信小伙伴都不会陌生.axios对应的也有很多类似的方法,不清楚的可以看下文档.但是为了简化我们的代码,我们还是要对其进行一个简单的封装.下 ...

  2. PHP 使用数字作为SESSION的Key,一刷新页面session丢失,Session消失,无法存储

    PHP 使用数字作为SESSION的Key,一刷新页面session丢失,Session消失,无法存储 项目中有用到md5截取做session key值的,有些md5截取出来的部分是纯数字的,导致部分 ...

  3. Python3.7 Scrapy crawl 运行出错解决方法

    安装的是Python3.7,装上依赖包和scrapy后运行爬虫命令出错 File "D:\Python37\lib\site-packages\scrapy\extensions\telne ...

  4. 如何让div弄成可以输入文字

    如何让div弄成可以输入文字 加一个contenteditable="true"属性即可.   <!DOCTYPE html> <html lang=" ...

  5. 招聘ETL开发工程师

    上班地点徐汇 本科以上学历 3年以上ETL开发经验熟悉Oracle数据库,精通PL  SQL开发与优化,熟悉Vertica或者GreenPlum库优先 熟悉数据库性能优化,有海量数据处理经验优先 自荐 ...

  6. JavaScript判断系统语言

    var lang= null; function language(){ var language=null; if (navigator.appName == 'Netscape'){ langua ...

  7. javafx安装

    可在官网http://efxclipse.bestsolution.at/ 下载 其中http://efxclipse.bestsolution.at/install.html#all-in-one ...

  8. 学习Acegi应用到实际项目中(7)- 缓存用户信息

    在默认情况下,即在用户未提供自身配置文件ehcache.xml或ehcache-failsafe.xml时,EhCache会依据其自身Jar存档包含的ehcache-failsafe.xml文件所定制 ...

  9. 基于jmeter的性能测试平台(一)分布式jmeter搭建

    (1)概述 一台windows虚拟机作为controller,3台Linux虚拟机作为agent. 第一步是在所有虚拟机上安装JDK,版本最好是一样的,然后就是下载安装jmeter,网上资料很多这里不 ...

  10. 使用Calibre自带工具批量转换电子书格式

    原来使用Calibre转换电子书格式都是先导入,再转换,再把转换后的文件复制出来,最后再改名. 虽然可以批量导入和转换,但复制和改名要一个处理.后来发现Calibre自带命令行转换工具,就写了一个批处 ...