centos7安装nginx1.14.2

linux,php,运维

当下 (2019-04-20)最新的稳定版本的 nginx 版本是 1.14.2。下边来进行编译安装该版本,使其支持 http2 以及 TLS1.3 还有 Brotli 。 都是好东西,可以慢慢去了解。
安装依赖包

先更新包,软件,系统内核

yum update

安装 gcc

安装 nginx 源码进行编译,编译依赖 gcc 环境,需要安装gcc: yum install gcc-c++
安装 pcre-devel

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。

yum install pcre pcre-devel

zlib 安装

nginx 使用 zlib 对 http 包的内容进行 gzip。可是,不是用 Brotli 么。两个都装,装了也没事。gzip 编译安装来个。如果不编译,使用 yum 安装,版本达不到要求。

版本没要求可以这样

yum install zlib zlib-devel

先安装 cmake
https://blog.vini123.com/289

再安装 zlib
https://blog.vini123.com/299

再安装 bzip2
https://blog.vini123.com/300

最后安装 libzib
https://blog.vini123.com/290
OpenSSL 安装

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

https://blog.vini123.com/301
安装 ngx_brotli

cd /opt
git clone https://github.com/eustas/ngx_brotli.git
cd ngx_brotli
git submodule update --init --recursive

可以看这里: https://blog.vini123.com/302
增加用户组

我们创建一个新的用户组和用户来运行服务,这样可以把nginx和root分开,保证nginx不具备root权限。但是,我们并不希望nginx成为一个真实的可以登陆到远程进行操作的用户,所以,我们并不给它创建home目录,在useradd的时候,用-M参数:

groupadd www
useradd -g www -M www

-g参数为nginx用户指定了一个组。-M参数保证其不自动生成home目录。

但通过上面的用户创建之后,www 用户可以通过设置一个密码登陆到服务器,这个不是我们想要的,我们禁用它的 ssh 登陆权限.禁止用户登陆也很方便,只需要修改配置文件中有关用户和用户组的信息即可。

vi /etc/passwd

找到www,将后面的/bin/bash改为/sbin/nologin即可。
下载安装 nginx

官网:http://nginx.org/en/download.html 当前最新稳定版本 1.14.2

cd /usr/local/src

wget http://nginx.org/download/nginx-1.14.2.tar.gz

tar -xzvf nginx-1.14.2.tar.gz

cd nginx-1.14.2

配置编译

./configure
–user=www
–group=www
–prefix=/alidata/service/nginx
–pid-path=/alidata/service/nginx/run/nginx.pid
–with-http_stub_status_module \ ## 监控模块,nginx自带,但默认不安装
–with-threads
–with-file-aio
–with-pcre-jit
–with-http_ssl_module \ ## 开启 HTTPS 支持
–with-http_v2_module \ ## 开启 HTTP/2
–with-http_gzip_static_module \ ## 开启 GZip 压缩
–with-http_sub_module
–with-http_flv_module
–with-http_mp4_module
–with-http_gunzip_module
–with-http_realip_module
–with-http_addition_module
–with-stream
–with-stream_ssl_module
–with-stream_ssl_preread_module
–with-stream_realip_module
–with-http_slice_module
–with-pcre
–with-openssl=/usr/local/src/openssl-1.1.1b/ \ ## 指定单独编译入 OpenSSL 的源码位置
–with-openssl-opt=enable-tls1_3 \ ## 开启 TLS 1.3 支持
–add-module=/usr/local/src/ngx_brotli/ ## 编译入 ngx_BroTli 扩展

如果有问题,将这些配置写成一行。没有问题会提示:

Configuration summary

  • using threads
  • using system PCRE library
  • using OpenSSL library: /usr/local/src/openssl-1.1.1b
  • using system zlib library

nginx path prefix: “/alidata/service/nginx”
nginx binary file: “/alidata/service/nginx/sbin/nginx”
nginx modules path: “/alidata/service/nginx/modules”
nginx configuration prefix: “/alidata/service/nginx/conf”
nginx configuration file: “/alidata/service/nginx/conf/nginx.conf”
nginx pid file: “/alidata/service/nginx/run/nginx.pid”
nginx error log file: “/alidata/service/nginx/logs/error.log”
nginx http access log file: “/alidata/service/nginx/logs/access.log”
nginx http client request body temporary files: “client_body_temp”
nginx http proxy temporary files: “proxy_temp”
nginx http fastcgi temporary files: “fastcgi_temp”
nginx http uwsgi temporary files: “uwsgi_temp”
nginx http scgi temporary files: “scgi_temp”

好了,现在开始编译安装。

make && make install

安装完毕后,启动 nginx

/alidata/server/nginx/sbin/nginx
ps -ef|grep nginx

查看编译的模块

/alidata/service/nginx/sbin/nginx -V

配置开机自启动

切换到 /lib/systemd/system/ 目录,创建 nginx.service 文件 vi nginx.service
编辑 nginx.service。

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/alidata/service/nginx/sbin/nginx
ExecReload=/alidata/service/nginx/sbin/nginx reload
ExecStop=/alidata/service/nginx/sbin/nginx quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

保存,并退出。再执行 systemctl enable nginx.service 激活重启自启动功能

systemctl enable nginx.service

systemctl start nginx.service #启动nginx
systemctl stop nginx.service #结束nginx
systemctl restart nginx.service #重启nginx

curl 127.0.0.1 查看欢迎页面。或输入外网 ip,如果外网 ip 访问不到,可能是 80端口没开放。去开放端口。比如去阿里云添加安全组,再重启 nginx。
参考

https://www.mf8.biz/nginx-install-tls1-3/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值