从Nginx官方网站下载稳定的主要分支版本。然后解压开来。

在Linux中需要使用编译工具编译安装Nginx。

首先安装“Development Tools”工具,包含了所有编译Nginx所需的依赖工具:

wget 'http://nginx.org/download/nginx-1.16.0.tar.gz'

tar zvfx nginx-1.16.0.tar.gz

1.执行命令,安全所有开发环境工具:

# yum group install "Development Tools" –assumeyes

2.安装完开发环境所有工具之后,升级yum:

# yum update

3.检查gcc、make工具是否安装正确:

# gcc –version
# make --version

如上所示,可以看到我们已经安装好的gcc和make工具的版本号。

3.检查Centos上面是否已经安装了PCRE Library,这个东西主要是Nginx 在做URl重定向的时候,需要这个库来做正则匹配用的。

如果Centos上面没有安装这个库,可能影响之后Nginx作Url重定向。

通过命令安装最新版本pcre:

#  yum install pcre

# yum install pcre-devel

4.OpenSSL ,Nginx程序需要这个库来处理Server端和Client端的SSL 或TLS,安装OpenSLL:

# yum install openssl
# openssl version –a

# yum install openssl-devel

5.zlib Library,Nginx需要这个库来实现数据压缩传输。而且openssl-devel也需要这个库

# yum install zlib

# yum install zlib-devel

1~5步骤把所有编译Nginx的准备都准备就绪之后,现在开始编译安装Nginx:

wget "http://nginx.org/download/nginx-1.16.0.tar.gz"

tar zvxf nginx-1.16.0.tar.gz

我们进入到Nginx压缩包里面:

cd nginx-1.16.0

我们可以看到有个脚本文件:

./configure

了解这个脚本其他的指令,我们敲入helper指令查看完整的指令清单:

# ./configure –help

这个脚本主要是用来检测Nginx的运行环境:包括Linux的机器型号,参数,定义Nginx的根目录(默认是 /usr/local/nginx)。

包括Nginx的线程,模块,各种配置以及临时目录。

也就是说这个脚本指令,基本上对应着Nginx的各种配置操作。下面的截图包含了这个./configure 脚本的所有指令:

6.给Nginx单独配置用户和用户组:比如用户和用户组的名字叫做nginx

./configure --user=nginx --group=nginx

7.创建用户组和用户名 :

[root@localhost nginx-1.15.12]# groupadd -r nginx
[root@localhost nginx-1.15.12]# useradd -r nginx -g nginx

8.手动配置Nginx:

#

./configure --prefix=/etc/nginx \
--user=nginx \
--group=nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-pcre \
--with-file-aio \
--with-http_realip_module \
--with-stream_ssl_module \
--with-http_v2_module \
--with-mail_ssl_module \
--with-stream \
--with-http_ssl_module \
--with-threads \
--with-http_secure_link_module \
--with-http_mp4_module \
--with-http_gzip_static_module \
--with-http_gunzip_module \
--with-http_addition_module \
--with-file-aio \

粘贴到命令行,回车两次,编译器会检查依赖项,然后创建一个Makefile文件。

成功的话,会看到如下结果:

当前目录下面多出了一个Makefile文件。

9.开始编译安装Nginx,执行make指令:它会编译所有的libraries,创建一个可执行二进制文件:

# make

10. 二进制编译完成之后,开始安装:

# sudo make install

11.配置Nginx自启动:

# sudo wget -O /etc/init.d/nginx 'https://gist.githubusercontent.com/sairam/5892520/raw/b8195a71e944d46271c8a49f2717f70bcd04bf1a/etc-init.d-nginx'

# sudo chmod +x /etc/init.d/nginx

# chkconfig --add nginx
# chkconfig --level 345 nginx on

Nginx自启动成功:

Centos7安装配置Nginx_笔记的更多相关文章

  1. CentOS7 安装配置笔记

    CentOS7 安装配置笔记 1.通过镜像安装 CentOS7 ==============================* 使用 UltraISO 9.7 或者 rufus-3.5p 制作ISO的 ...

  2. Centos7安装配置gitlab

    Centos7安装配置gitlab 这篇文字我会介绍在Centos7上安装gitlab,配置gitlab的smtp,并且创建项目demo. sudo yum install openssh-serve ...

  3. centos6 安装配置ss笔记

    2018-05-17 centos6 安装配置ss笔记 操作环境:Centos 6 x86_64 bbr 服务器地址:美国 1.准备VPS 在https://www.bwh1.net可购买,购买时已默 ...

  4. redis 安装配置学习笔记

    redis 安装配置学习笔记 //wget http://download.redis.io/releases/redis-2.8.17.tar.gz 下载最新版本 wget http://downl ...

  5. Centos7安装配置Apache+PHP+Mysql+phpmyadmin

    转载自: Centos7安装配置Apache+PHP+Mysql+phpmyadmin 一.安装Apache yum install httpd 安装成功后,Apache操作命令: systemctl ...

  6. Centos7 安装 Python 的笔记

    Centos7 安装 Python 的笔记 注意:系统自带的Python2.7不要改动,最好也不要出错,不然yum之类的工具可能会出错. 安装Python3.7.0 TensorFlow对Python ...

  7. Centos7安装配置JDK8

    Centos7安装配置JDK8 一.准备工作 第一步,去甲骨文官网下载Jdk相应的版本,我这里下载的是jdk1.8. 第二步将你从官网上下载下来的jdk使用FTP工具上传到云服务器上的相应目录,我的是 ...

  8. centos7命令行和图形界面的相互切换(附centos7安装配置教程)

    一.最近安装了centos7,发现在命令行和图形界面的相互切换命令上,与centos以往版本有很大不同,先整理如下,加深记忆. 1,centos7默认安装后,跟其他版本一样,启动默认进入图形界面: 2 ...

  9. (转)Centos7安装配置NFS服务和挂载

    Centos7安装配置NFS服务和挂载 原文:https://www.u22e.com/601.html NFS简介 NFS(Network File System)即网络文件系统,是FreeBSD支 ...

随机推荐

  1. PAT-2019年冬季考试-甲级 7-4 Cartesian Tree (30分)(最小堆的中序遍历求层序遍历,递归建树bfs层序)

    7-4 Cartesian Tree (30分)   A Cartesian tree is a binary tree constructed from a sequence of distinct ...

  2. 实例句柄0x10000000有什么特别之处?What is so special about the instance handle 0x10000000?

    当Load­Library函数返回特殊值时,客户想知道它意味着什么0x10000000.嗯,这意味着LIB被加载进了0x10000000?好的,这里有一些更多的信息:“我们正在尝试调试一个加载DLL的 ...

  3. 工控随笔_22_关于Profibus网络接线的规则

    最近在做一个项目调试,用的是西门子的PLC,416-2 DP,下面挂了几个DP子网,在进行现场网络测试的时候,有几个走的DP网络的 绝对值编码器,无论怎么弄DP网络不能联通. 一开始我以为DP网线接的 ...

  4. kubernetes reference

    hyperkube在kubernetes pod里面执行kubernetes命令(例如kubectl) https://feisky.gitbooks.io/kubernetes/components ...

  5. Prometheus监控实战day1-监控简介

    福利 Prometheus监控实战PDF电子书下载 链接:https://pan.baidu.com/s/1QH4Kvha5g70OhYQdp4YsfQ 提取码:oou5 若你喜欢该资料,请购买该资料 ...

  6. 【Spring Cloud学习之六】断路器-Hystrix

    环境 eclipse 4.7 jdk 1.8 Spring Boot 1.5.2 Spring Cloud 1.2 一.服务雪崩1.什么是服务雪崩分布式系统中经常会出现某个基础服务不可用造成整个系统不 ...

  7. setdefault函数的用法及理解

    setdefault函数的用法及理解 dict.setdefault(key, default=None) 功能:如果键不存在于字典中,将会添加该键并将default的值设为该键的默认值,如果键存在于 ...

  8. [笔记] 命令行参数 int main(int argc,char *argv[])

    int main(int argc,char *argv[]) // argument count 变量个数 argument values 变量值 C程序的main函数有两个形参* argc:整数, ...

  9. 【题解】Luogu P5400 [CTS2019]随机立方体

    原题传送门 毒瘤计数题 我们设\(dp_i\)表示至少有\(i\)个极大数字的概率,\(ans_i\)表示恰好有\(i\)个极大数的概率,\(mi=Min(n,m,l)\) 易知: \[dp_i=\s ...

  10. sql特殊日期

    --a. 本月的第一天 select dateadd(mm, datediff(mm,0,getdate()), 0) as 本月的第一天 --b. 本月的最后一天 select dateadd(ms ...