3、CentOS 7.4 安装Nginx

CentOS 7.4 安装Nginx

说明

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,在国内各大互联网公司广泛使用。

在我们的devops环境中,需要用到nginx作web服务器、负载均衡、代理转发等。

注意:nginx包含很多可用模块,yum安装模式过于固化,编译安装可以根据业务需求自由选择模块,故本章采用编译安装方案,进行离线安装

一. 软件获取

安装nginx前,我们需要通过 Nginx官网 下载 最新的Stable version版本。本文采用 nginx-1.16.1 版本

二. 安装编译工具及库文件

yum install -y make libtool gcc gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel

注意:本章采用离线按钮,不执行以上语句。

三. yum离线安装编译工具及库文件

1、yum下载rpm包到本地

yum下载rpm包 命令语法:yumdownloader --resolve(可选,意为下依赖包) --destdir=软件存放位置 (可选) +软件包名

yumdownloader --resolve --destdir=/external/nginx/depend make libtool gcc gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel

yum下载rpm包

2、yum安装本地rpm包

yum本地安装 命令语法:yum localinstall <软件名称,多个空格分隔> rpm包本地路径

yum localinstall -y make libtool gcc gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel /external/nginx/depend/*.rpm

yum本地安装rpm包-完成部分的截图

四. nginx编译安装

1、上传 nginx-1.16.1.tar.gz
  • 使用 sftp 命令上传 nginx安装包 到服务器
sftp root@192.168.43.150                     #须输入密码
cd /external/nginx                           # 服务器地址
lcd /g/csdn/nginx                            # 本地地址
put nginx-1.16.1.tar.gz                      # 上传安装包
2、解压nginx-1.16.1.tar.gz
tar zxvf nginx-1.16.1.tar.gz
3、进入安装包目录
cd /external/nginx/nginx-1.16.1
4、编译安装
  • 检测软件环境信息
./configure --prefix=/usr/local/nginx \
--user=root --group=root \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-stream \
--with-pcre-jit \
--with-http_realip_module \
--with-http_v2_module

说明:
--prefix:nginx安装目录
--user / --group :归属用户/用户组,本环境直接使用root用户
--with-http_stub_status_module:服务器状态模块
--with-http_v2_module:支持 http2 nginx软件信息检查结果

  • 编译 && 安装
make && make install

安装结果

5、查看安装结果
cd /usr/local/nginx/sbin/
./nginx -V

查看安装结果
注意: nginx默认端口为80,而1024以下的端口预留给root用户使用,当采用非root用户按照nginx时,CentOS 须通过如下命令开放80端口的nginx服务

setcap cap_net_bind_service=+eip /usr/local/nginx/sbin

五. nginx配置启动

1、nginx命令加入环境变量
  • 添加环境变量
cat >> ~/.bash_profile << EOF

export NGINX_HOME=/usr/local/nginx
export PATH=\$PATH:\$NGINX_HOME/sbin

EOF
  • 使环境变量生效
source ~/.bash_profile
2、nginx配置端口转发

devops体系中,我们将对不同的软件定义不同的域名进行管理。最新规划见:https://gitee.com/tysite/devops

我们以 nginx web服务器gitlab 的为例,这两个软件都需要使用到80端口对外提供服务
规划设计如下:

IP地址 域名 端口 说明
192.168.43.150 www.tysite.org 80 nginx web服务器,未来作为项目主页使用
192.168.43.150 git.tysite.org 10080 git服务器访问地址
  • 用户本地修改 hosts 文件,添加域名映射
192.168.43.150 www.tysite.org
192.168.43.150 git.tysite.org
  • 修改 nginx.conf 文件,读取 conf.d 下的 *.conf 配置集合
vi nginx.conf

1、开启gzip 并 添加 conf.d/*.conf
gzip on;
include conf.d/*.conf;
2、删除 server 的相关配置

  • 创建nginx配置文件目录
mkdir -p /usr/local/nginx/conf/conf.d
  • conf.d目录下添加以域名命名的配置文件,本文添加www.tysite.org.conf
vi www.tysite.org.conf
server {
    listen       80;
    server_name www.tysite.org;

    #access_log  logs/host.access.log  main;

    location / {
        root   html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}
3、启动nginx

执行如下命令,启动nginx

nginx

服务端启动结果检查,命令如下:

  • 查看nginx进程信息

ps -ef | grep nginx

  • 查看端口使用信息

netstat -nltup

检查结果如图所示:
启动及服务端查看

  • 检查 nginx web 服务
    使用浏览器访问域名: http://www.tysite.org

nginx web 服务

4、设置开机自启动

根据 linux /etc/rc.d/目录及rc.local的详解 博客中讲解的Linux的引导过程 ,我们可以在 /etc/rc.d/rc.local 中添加 nginx 启动命令来实现 nginx 的开机自启动。

  • 添加启动命令
cat >> /etc/rc.d/rc.local << EOF

./usr/local/nginx/sbin/nginx

EOF
  • 设置/etc/rc.d/rc.local的可执行权限
chmod +x /etc/rc.d/rc.local

六. nginx常用命令

  • nginx: 启动nginx
  • ps -ef | grep nginx:查看nginx启动信息
  • netstat -nlutp:查看端口使用情况
  • nginx -s reload:修改配置后重新加载生效
  • nginx -s stop:快速停止nginx
  • nginx -s quit:完整有序的停止nginx
  • nginx -s reopen:重新打开日志文件
  • nginx -t -c /path/to/nginx.conf:测试nginx配置文件是否正确
发布了27 篇原创文章 · 获赞 2 · 访问量 3502

猜你喜欢

转载自blog.csdn.net/tysite/article/details/103517320