linux 快速安装最新稳定版nginx(CentOS8.1 64位)

2023-11-18

目录

CentOS8.1 安装完成已具备 yum 指令操作   低版本缺少yum 指令自行安装

启动nginx遇到错误 nginx: [emerg] bind() to 0.0.0.0:7070 failed (13: Permission denied)

配置开机启动

开机nginx服务启动失败及解决方案

添加TCP协议转发


CentOS8.1 安装完成已具备 yum 指令操作   低版本缺少yum 指令自行安装

1、执行如下命令进行yum安装nginx

yum install nginx

安装过程需要输入确认信息,全部y  回车即可  ssl_module 也已具备 SSL证书使用需求

2、安装完成后  查看版本信息

# 查看nginx版本
nginx -v

# 查看编译参数
nginx -V

#查看安装目录文件
rpm -ql nginx

#查看部署目录
whereis nginx

#查看nginx的配置文件的目录
nginx -t	

#查看帮助信息	
nginx -h  			

 

查询得出   /usr/sbin/nginx  为 nginx 程序    /etc/nginx/nginx.conf为 nginx 配置文件

 

启动nginx的命令

#注意/usr/sbin/ 是nginx程序的根目录 这样写就不需要通过cd 命令进入目录,上下键就是轻松完成
#手动启动nginx
/usr/sbin/nginx -c /etc/nginx/nginx.conf 
#或
systemctl start nginx

#重新载入nginx(当配置信息发生修改时)
/usr/sbin/nginx -s reload
#或
systemctl reload nginx

#停止ngix
/usr/sbin/nginx -s quit
#或
systemctl stop nginx

查看nginx是否成功启动

#查看进程命令
ps -ef | grep nginx

开机自动启动NGINX请见以下文章:Linux开机自动启动nginx   此文章可避免遇到以下问题

或者执行以下服务命令

#yum命令安装可以执行以下指令
systemctl enable nginx

 

启动nginx遇到错误 nginx: [emerg] bind() to 0.0.0.0:7070 failed (13: Permission denied)

解决办法:

权限拒绝,经检查发现是开启selinux 导致的。 直接关闭
getenforce   这个命令可以查看当前是否开启了selinux 如果输出 disabled 或 permissive 那就是关闭了
如果输出 enforcing 那就是开启了 selinux

  • 临时关闭selinux

setenforce 0            ##设置SELinux 成为permissive模式
setenforce 1    ##设置SELinux 成为enforcing模式

 

  • 永久关闭selinux 文件

将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
 

配置开机启动

#开机启动nginx服务
systemctl enable nginx.service



#查询服务是否开机启动
systemctl is-enabled servicename.service 
 
#开机运行服务
systemctl enable *.service 
 
 #取消开机运行
systemctl disable *.service
 
#启动服务
systemctl start *.service 
 
#停止服务
systemctl stop *.service 
 
#重启服务
systemctl restart *.service 
 
#重新加载服务配置文件
systemctl reload *.service 
 
#查询服务运行状态
systemctl status *.service
 
 #显示启动失败的服务
systemctl --failed

开机nginx服务启动失败及解决方案

查看nginx 启动服务已生效

 开机nginx服务没有启动

查看失败服务有启动但是失败了 

问题就在于我配置文件 proxy_pass后紧跟域名 nginx启动或者reload的时候,会对proxy_pass后面的域名进行DNS解析,如果解析失败,启动就会失败。

解决方案:

不直接在proxy_pass后写域名,而通过变量的方式配置,如下:

location /oauth{
                client_max_body_size 200m;
                set $target https://aip.baidubce.com/oauth;
                proxy_pass $target;
              }

除了上面的配置之外,还要在server属性的平行域下使用resolver指令,如下

resolver 114.114.114.114;
 server{
        listen 443 ssl;
        server_name test.demo.com;
		resolver 114.114.114.114;
        ……

 

原因解析:

假如proxy_pass后紧跟域名,在nginx启动的时候,会使用/etc/resolv.conf下配置的DNS服务器进行域名解析。采用变量的方式后,nginx启动时不会再去解析变量所对应的域名,但是会在进行代理访问的时候,进行域名解析,此时不会使用/etc/resolv.conf配置的DNS服务器,必须使用reslover指令指定DNS服务地址。

添加TCP协议转发

.1.yum 安装最新版本已带with-stream  其它手动安装的版本可检查是否编译时带with-stream参数

#有with-stream参数,可以代理tcp协议
nginx -V |grep with-stream

 

2.配置nginx的tcp代理

请注意,stream块和http块是两个不同的模块,stream不属于http模块,即不能放到/etc/nginx/conf.d/,stream是通过tcp层转发,而不是http转发。
如配置在http内,启动nginx会报如下错误:

nginx: [emerg] "server" directive is not allowed here

2.1 修改主配置文件,添加stream目录

cd /etc/nginx/
cp -a nginx.conf{,_$(date +%F)}
vim nginx.conf

# 最后追加如下内容
# tcp/ip proxy
include /etc/nginx/tcp.d/*.conf;

2.2 添加tcp转发配置

mkdir tcp.d
cd tcp.d

在新建的 tcp.d 目录下创建 conf 文件新建一个 tcp 配置,例如我转发到IP为127.0.0.1的7666端口

vim openldap.conf

写入

stream{
    upstream tcpdx{
        hash $remote_addr consistent;
        server  127.0.0.1:8090 max_fails=3 fail_timeout=10s;  
        server  127.0.0.1:8089 max_fails=3 fail_timeout=10s;  
   }
    server{
        listen 8090;
        proxy_connect_timeout 20s;
        proxy_timeout 5m;
        proxy_pass tcpdx;
    }
}

"upstream tcpdx":转发的目的地址和端口等设置;其中tcpdx为自定义;
"server":提供转发的服务,即访问localhost:8090,会跳转至代理"tcpdx"指定的转发地址.。

2.3启动nginx服务

启动nginx服务

systemctl start nginx.service

查看是否启动

[root@node1 ~]# systemctl status nginx.service
● nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2018-09-29 11:34:01 CST; 5h 37min ago
     Docs: http://nginx.org/en/docs/
 Main PID: 26114 (nginx)
   CGroup: /system.slice/nginx.service
           ├─26114 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
           └─26115 nginx: worker process

Sep 29 11:34:01 node1 systemd[1]: Starting nginx - high performance web server...
Sep 29 11:34:01 node1 systemd[1]: Started nginx - high performance web server.
[root@node1 ~]#

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux 快速安装最新稳定版nginx(CentOS8.1 64位) 的相关文章

随机推荐

  • wxWidgets:使用wxDataViewCtrl类的示例

    wxWidgets 使用wxDataViewCtrl类的示例 wxWidgets是一个跨平台的C 图形用户界面 GUI 库 它提供了丰富的控件和功能 使开发者能够轻松构建跨平台的应用程序 其中的wxDataViewCtrl类是一个强大的控件
  • SVM(支持向量机)原理与应用

    1 支持向量机 支持向量机 Support Vector Machine SVM 是一类按监督学习 supervised learning 方式对数据进行二元分类的广义线性分类器 generalized linear classifier
  • vue flex 布局实现div均分自动换行

    vue flex 布局实现div均分自动换行 许久没有更新了 今天才意外发现以前还是没有看懂盒模型 今天才算看懂了 首先我们今天来看一下想要实现的效果是什么 当然适配是必须的 1920 或者 1376都测试过 效果如图所选中区域所示 一 关
  • 【博客管理】短期长期计划【置顶】

    短期计划 2016 项目 内容 拟完成时间 完成情况 未完成原因 链接 颜色恒常图像增强 递归高斯 英 5 9 page5 total13 1 13 连接 颜色恒常图像增强 递归高斯 英 5 10 0 0 无 颜色恒常图像增强 递归高斯 英
  • 一台浮点计算机 数码为,导论简答.doc

    第一章 一 1 什么是计算机 计算机系统是一种能够按照事先存储的程序 自动 高速的对数据进行输入 处理 输出和存储的系统 一个计算机系统包括硬件和软件两大部分 2 解释冯 诺依曼所提出的 存储程序 概念 把程序和数据都以二进制的形式同意存放
  • Session机制

    除了使用Cookie Web应用程序中还经常使用Session来记录客户端状态 Session是服务器端使用的一种记录客户端状态的机制 使用上比Cookie简单一些 相应的也增加了服务器的存储压力 什么是Session Session是另一
  • Anaconda新建虚拟环境并配置

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 python学习之新建环境配置 一 查看当前环境 二 创建新的虚拟环境 三 pycharm新建的虚拟环境添加及环境更换 python学习之新建环境配置 前提 Ana
  • 数据结构与算法2--数组常见操作

    数据结构与算法2 数组常见操作 数组是最常见也是我们使用最多的数据结构了 它是一块连续的内存空间 以下标来描述空间的位置 C 中int arr len 表示的的数组一旦配置后大小就无法改变 vector
  • CUDA-同步

    主机与设备之间的同步 分为隐式和显式 一 隐式 cudaMemcpy函数的作用在于传输传输 但在执行结束之前会产生阻塞 许多与内存相关的操作都会产生阻塞 这些不必要的阻塞会对性能产生较大的影响 如 锁页主机内存分配 设备内存分配 设备内存初
  • 2021年中国航天发射列表(55发见证历史)

    序号 有效载荷 发射时间 火箭型号 发射场 状态 1 天通一号03星 2021 01 20 00 25 CZ 3B 西昌 成功 2 遥感三十一号02组 2021 01 29 12 47 CZ 4C 酒泉 成功 3 方舟2号 2021 02
  • C++三目运算

    三目运算也叫条件运算或三元运算 可以实现简单if语句的功能 但是书写更简洁 语法 表达式一 表达式二 表达式三 先计算表达式一的值 如果为真 整个表达式的结果为表达式二的值 如果为假 整个表达式的结果为表达式三的值 int a b c a
  • BP神经网络与Python实现

    人工神经网络是一种经典的机器学习模型 随着深度学习的发展神经网络模型日益完善 联想大家熟悉的回归问题 神经网络模型实际上是根据训练样本创造出一个多维输入多维输出的函数 并使用该函数进行预测 网络的训练过程即为调节该函数参数提高预测精度的过程
  • three.js(相机 (Camera))

    相机类型 1透视相机 PerspectiveCamera 透视相机模拟人眼观察物体时的效果 具有近大远小的景深效果 创建透视相机需要设置视角FOV 画布宽高比 近平面和远平面距离等参数 2正交相机 OrthographicCamera 正交
  • 实验五循环结构程序设计

    一 实验目的 1 掌握在程序设计条件型循环结构时 如何正确地设定循环条件 以及如何控制循环的次数 2 了解条件型循环结构的基本测试方法 3 掌握如何正确地控制计数型循环结构进行测试的基本方法 4 了解对计数型循环结构进行测试的基本方法 5
  • linux nginx安装【docker容器怎么绑定域名?docker装nginx,nginx域名反向代理转发】centos7 docker系列

    一 安装Docker 1 查看你当前的内核版本 命令 uname r 系统的内核版本高于 3 10 2 确保 yum 包更新到最新 命令 yum update 最新此步骤可省略 3 检查本机是否已经安装docker 命令 docker v
  • 常用内存数据库三

    4 1 2 哪些场合适合使用其他的关系型数据库管理系统 RDBMS 客户端 服务器程序 如果你有许多的客户端程序要通过网络访问一个共享的数据库 你应当考虑用一个客户端 服务器数据库来替代SQLite SQLite可以通过网络文件系统工作 但
  • 压力测试工具Apache JMeter:3:压力测试报告的生成方法

    版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net liumiaocn article details 101362941 Apache
  • 微信小程序css篇----边框(Border)

    一 边框 border 设置对象边框的特性 1 语法 border length style color 2 style none hidden dotted dashed solid double groove ridge inset o
  • 7种有效安全的网页抓取方法,如何避免被禁止?

    网页抓取是一种从互联网上抓取网页内容的过程 但在网络抓取种相信您也经常遇到障碍 尤其是做跨境业务的 在抓取国外的网站时更有难度 但我们站在您的立场上 提供七种有效的方法来进行网页抓取而不被阻止 最大限度地降低网站禁令的风险 并帮助您应对相关
  • linux 快速安装最新稳定版nginx(CentOS8.1 64位)

    目录 CentOS8 1 安装完成已具备 yum 指令操作 低版本缺少yum 指令自行安装 启动nginx遇到错误 nginx emerg bind to 0 0 0 0 7070 failed 13 Permission denied 配