Nginx 之一 服务器的安装部署(一): LInux 环境下 Nginx 服务器的安装和基本配置

欢迎大家扫码关注我的微信公众号:
数据之恋

Nginx 服务器的安装部署(一)-目录

  • 一、编译和安装前的准备工作
    • 1.1 足够的磁盘空间
    • 1.2 需要的工具
  • 二、Nginx 软件的自动脚本
  • 三、Nginx 源代码的编译和安装

一、编译和安装前的准备工作

本博客依赖环境: Linux Ubuntu 16.04

1.1 足够的磁盘空间

能够装得下 Nginx 的软件包和安装文件, 这个基本都能满足。

1.2 需要的工具

为了编译 Nginx 源代码, 需要安装标准的 GCC 编译器。

除此之外, 我们还需要 Automake 工具, 以完成自动创建 Makefile 的工作。 Nginx 的一些模块需要依赖其他第三方库, 通常有 pcre 库(支持 rewrite 库)、 zlib 库(支持 gzip 模块)和 openssl 库(支持 ssl 模块)等。

我们使用如下命令来安装上述工具及依赖库(注意:一定要切换到 root 权限下安装):

root@ubuntu:~# apt-get install gcc						# 安装 gcc
...
root@ubuntu:~# apt-get install openssl libssl-dev		# 安装 openssl
...
root@ubuntu:~# apt-get install libpcre3 libpcre3-dev	# 安装 pcre
...
root@ubuntu:~# apt-get install zlib1g-dev				# 安装 zlib
...

至此, 我们便完成了编译和安装 Nginx 服务器软件的环境准备工作。

二、Nginx 软件的自动脚本

我们需要创建几个目录:

  1. 根目录下创建 Nginx_1140: 将编译好的 Nginx 安装到此目录中(下载的 Nginx 版本为 1.14.0);
root@ubuntu:/# cd /					# 进入根目录下
root@ubuntu:/# mkdir Nginx_1140		# 创建 Nginx_1140 目录 
  1. 在上面目录中创建 Nginx_1140_Compile: 用来编译 Nginx 软件;
root@ubuntu:/# cd Nginx_1140						# 进入 Nginx_1140
root@ubuntu:/Nginx_1140# mkdir Nginx_1140_Compile	# 创建 Nginx_1140_Compile 目录
  1. 在根目录下创建 Nginx 目录, 用来安装 Nginx:
root@ubuntu:~# mkdir /Nginx

将 Nginx 源码压缩包 nginx-1.14.0.tar.gz 复制到 /Nginx_1140 中:

root@ubuntu:~/桌面# cp nginx-1.14.0.tar.gz /Nginx_1140/
root@ubuntu:~/桌面# cd /Nginx_1140
root@ubuntu:/Nginx_1140# tar xf nginx-1.14.0.tar.gz 
root@ubuntu:/Nginx_1140# ls
nginx-1.14.0  Nginx_1140_Compile  nginx-1.14.0.tar.gz
root@ubuntu:/Nginx_1140# cd nginx-1.14.0/
root@ubuntu:/Nginx_1140/nginx-1.14.0# ls -l
总用量 748
drwxr-xr-x 6 1001 laowang   4096 11月  5 19:38 auto
-rw-r--r-- 1 1001 laowang 286953 4月  17  2018 CHANGES
-rw-r--r-- 1 1001 laowang 437286 4月  17  2018 CHANGES.ru
drwxr-xr-x 2 1001 laowang   4096 11月  5 19:38 conf
-rwxr-xr-x 1 1001 laowang   2502 4月  17  2018 configure
drwxr-xr-x 4 1001 laowang   4096 11月  5 19:38 contrib
drwxr-xr-x 2 1001 laowang   4096 11月  5 19:38 html
-rw-r--r-- 1 1001 laowang   1397 4月  17  2018 LICENSE
drwxr-xr-x 2 1001 laowang   4096 11月  5 19:38 man
-rw-r--r-- 1 1001 laowang     49 4月  17  2018 README
drwxr-xr-x 9 1001 laowang   4096 11月  5 19:38 src

configure 脚本支持的常用选项很多, 这里就不再赘述。 我们可以根据自己的实际情况使用 configure 脚本自动生成 Makefile 文件。 进入到 /Nginx_1140/nginx-1.14.0, 然后使用下述命令配置并生成 Makefile 文件:

root@ubuntu:/Nginx_1140/nginx-1.14.0# ./configure --prefix=/Nginx

–prefix 指定了 Nginx 软件的安装路径为之前新建的 /Nginx 目录。 此时可以看到, 当前路径下新增了一个 Makefile 的文件。

三、Nginx 源代码的编译和安装

当我们得到了 Makefile 文件后, 我们便可以编译源代码了。 进入 /Nginx_1140/nginx-1.14.0 中, 使用 make 命令进行编译, 成功后, 使用 make install 来安装 Nginx 软件:

root@ubuntu:/Nginx_1140/nginx-1.14.0# make
...(很长)
root@ubuntu:/Nginx_1140/nginx-1.14.0# make install
...(很长)
root@ubuntu:/Nginx_1140/nginx-1.14.0# tree /Nginx
/Nginx
├── conf
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types
│   ├── mime.types.default
│   ├── nginx.conf
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── html
│   ├── 50x.html
│   └── index.html
├── logs
└── sbin
    └── nginx

4 directories, 18 files

我们可以看到, Nginx 服务器的安装目录中主要包括了 conf、 html、 logs 和 sbin 等 4 个目录。

  1. conf: 存放了 Nginx 的所有配置文件。 其中 nginx.conf 文件是 Nginx 服务器的主配置文件, 其他配置文件是用来配置 Nginx 的相关功能的。 在此目录下, 所有的配置文件都提供了以 .default 结尾的默认配置文件, 方便我们将配置过的 .conf 文件恢复到初始状态。
  2. html: 存放了 Nginx 服务器在运行过程中调用的一些 html 网页文件。
  3. logs: 用来存放 Nginx 服务器的日志。 由于目前 Nginx 服务器没有启动, 所以 logs 目录下是空的。
  4. sbin: 里面只有一个 Nginx 文件, 这就是 Nginx 服务器的主程序了。

至此, 我们 LInux 环境下 Nginx 服务器的安装和基本配置便完成了。


http://www.niftyadmin.cn/n/732620.html

相关文章

js 上传文件_js精准判断上传文件类型

前言一般来说,对于上传的文件,都要做类型过滤,指定哪些类型能上传,哪些不能上传。最容易想到的,也是相对常用的,是直接使用文件的拓展名。但拓展名可以手动修改,做不到精准,比如把一…

Python Cookbook 之一 数据结构和算法(一): 将序列分解为单独的变量

欢迎大家扫码关注我的微信公众号: 将序列分解为单独的变量-目录一、问题二、解决方案三、讨论一、问题 一个包含 N 个元素的元组或序列, 现在想将它分解为 N 个单独的变量。 二、解决方案 任何序列(或可迭代对象)都可以通过一…

Python Cookbook 之一 数据结构和算法(二): 从任意长度的可迭代对象中分解元素

欢迎大家扫码关注我的微信公众号: 从任意长度的可迭代对象中分解元素一、问题二、解决方案2.1 * 表达式在首位2.2 * 表达式在中间2.3 * 表达式在末位三、讨论一、问题 需要从某个可迭代对象中分解出 N 个元素, 但是这个可迭代对象的长度可能超过 N&…

Nginx 之一 服务器的安装部署(二): Nginx 服务的启停控制

欢迎大家扫码关注我的微信公众号: Nginx 服务器的安装部署(二)-目录一、Nginx 服务的信号控制1.1 获取 Nginx 服务主进程 PID1.2 Nginx 服务可接收的信号二、Nginx 服务的启动三、Nginx 服务的停止3.1 停止方式一:3.2 停止方式二…

Python Cookbook 之一 数据结构和算法(三): 保存最后 N 个元素

欢迎大家扫码关注我的微信公众号: 保存最后 N 个元素一、问题二、解决方案三、讨论一、问题 我们希望在迭代或是其他形式的处理过程中对最后几项记录做一个有限的历史记录统计。 二、解决方案 保存有限的历史记录可算是 collections.deque 的完美应用场景了。 …

kali 更新源_kali安装docker环境

最近因为要在kali上搭建一个文件上传测试平台,所以得安装一个docker环境。安装https协议、CA证书、dirmngrapt-get updateapt-get install -y apt-transport-https ca-certificatesapt-get install dirmngr2.添加GPG密钥并添加更新源curl -fsSL https://mirrors.tun…

Python Cookbook 之一 数据结构和算法(四): 找到最大或最小的 N 个元素

欢迎大家扫码关注我的微信公众号: 找到最大或最小的 N 个元素一、问题二、解决方案三、讨论一、问题 我们想在某个集合中找出最大或最小的 N 个元素。 二、解决方案 heapq 模块中有两个函数 —— nlargest() 和 nsmallest() —— 它们正是我们所需要的&#xff…

opencv和matlab图像处理的效率与效果_图像处理在工程中的应用

点击蓝字关注我们传感器图像处理在工程和科研中都具有广泛的应用,例如:图像处理是机器视觉的基础,能够提高人机交互的效率,扩宽机器人的使用范围;在科研方面,相关学者把图像处理与分子动力学相结合&#xf…