Nginx之Centos7安装及配置代理多个后端服务

Nginx之Centos7安装

文章目录

  • Nginx之Centos7安装
  • 1. 离线安装
    • 1. 下载
    • 2.安装依赖
    • 3. 编译并安装
    • 4. 启动
    • 5. 访问
    • 6. 访问出现403问题处理
    • 7. 80端口代理多个后端服务
  • 2. Nginx常用命令

1. 离线安装

1. 下载

官网地址:http://nginx.org/

本文下载的是nginx-1.21.1.tar.gz

解压

tar -zxvf nginx-1.21.1.tar.gz
# 如解压到了:/opt/software/nginx-1.21.1

2.安装依赖

进入到/opt/software/nginx-1.21.1目录中执行下面命令,按照出差信息一依次安装所有依赖即可

./configure
  1. 安装gcc-c++依赖
yum install gcc-c++
  1. 下面错误,执行yum -y install pcre-devel解决
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.
  1. 下面错误,执行yum install -y zlib-devel解决
./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.
  1. 再执行 ./configure 看到下面信息说明成功

Configuration summary+ using system PCRE library+ OpenSSL library is not used+ using system zlib librarynginx path prefix: "/usr/local/nginx"nginx binary file: "/usr/local/nginx/sbin/nginx"nginx modules path: "/usr/local/nginx/modules"nginx configuration prefix: "/usr/local/nginx/conf"nginx configuration file: "/usr/local/nginx/conf/nginx.conf"nginx pid file: "/usr/local/nginx/logs/nginx.pid"nginx error log file: "/usr/local/nginx/logs/error.log"nginx http access log file: "/usr/local/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"

3. 编译并安装

[root@mawei nginx-1.21.1]# make && make install
.....'/usr/local/nginx/conf/scgi_params.default'
test -f '/usr/local/nginx/conf/nginx.conf' \|| cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf'
cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default'
test -d '/usr/local/nginx/logs' \|| mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/logs' \|| mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/html' \|| cp -R html '/usr/local/nginx'
test -d '/usr/local/nginx/logs' \|| mkdir -p '/usr/local/nginx/logs'
make[1]: 离开目录“/opt/software/nginx-1.21.1”
  1. 查看安装在哪儿了
[root@mawei nginx-1.21.1]# whereis nginx
nginx: /usr/local/nginx

4. 启动

  1. 进入到 cd /usr/local/nginx/sbin/
  2. 输入./nginx 命令启动即可
[root@localhost server]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ll
总用量 4656
-rwx------ 1 root root 4766984 1118 10:02 nginx
[root@localhost sbin]# pwd
/usr/local/nginx/sbin
[root@localhost sbin]# ./nginx 
  1. 查看版本
[root@localhost sbin]# ./nginx -v
nginx version: nginx/1.21.1

5. 访问

nginx默认为80端口,直接输入IP访问即可

http://192.168.2.243/

6. 访问出现403问题处理

  1. 页面访问出现403问题,查看日志如下:
# 进入到日志目录 /usr/local/nginx/logs 下查看日志
[root@localhost logs]# cat error.log 
2021/11/18 10:07:08 [error] 15743#0: *2 "/usr/local/nginx/html/index.html" is forbidden (13: Permission denied), client: 192.168.2.200, server: localhost, request: "GET / HTTP/1.1", host: "192.168.2.243"
2021/11/18 10:07:08 [error] 15743#0: *2 open() "/usr/local/nginx/html/favicon.ico" failed (13: Permission denied), client: 192.168.2.200, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.2.243", referrer: "http://192.168.2.243/"
2021/11/18 10:07:28 [error] 15743#0: *2 "/usr/local/nginx/html/index.html" is forbidden (13: Permission denied), client: 192.168.2.200, server: localhost, request: "GET / HTTP/1.1", host: "192.168.2.243"
2021/11/18 10:07:28 [error] 15743#0: *2 open() "/usr/local/nginx/html/favicon.ico" failed (13: Permission denied), client: 192.168.2.200, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.2.243", referrer: "http://192.168.2.243/"
  1. 查看nginx的启动用户,发现是nobody,而非root用户启动的
[root@localhost logs]# ps aux | grep "nginx: worker process" | awk'{print $1}'
  1. 将nginx.config的user改为和启动用户一致
# 编辑 nginx.config文件
[root@localhost conf]# vim nginx.conf
# 找到注释掉的 “#user nobody;” 这一行,然后在此行后面新增一行,其实就是将nobody改为 root用户即可
user root

7. 80端口代理多个后端服务

配置一个80端口代理多后端个服务

以自开发公众号服务为例,访问地址:http://192.168.31.102:7001/myWechat

当访问域名后面以myWechat开头时代理到上面的地址中,如访问yuan.wechat.com/myWechat具体配置如下

server {listen       80;listen       [::]:80;server_name  _;root         /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location = /404.html {}# 代理微信公众号服务,以myWechat开头代理到 http://http://192.168.31.102:7001location ~ /lims {proxy_pass http://http://192.168.31.102:7001;}error_page 500 502 503 504 /50x.html;location = /50x.html {}location / {index index.html index.htm index.php;}}

2. Nginx常用命令

 #重启Nginx
nginx -s reopen
#重新加载Nginx配置文件,然后以优雅的方式重启Nginx
nginx -s reload 
#强制停止Nginx服务
nginx -s stop 
#优雅地停止Nginx服务(即处理完所有请求后再停止服务)
nginx -s quit 
#检测配置文件是否有语法错误,然后退出
nginx -t 
#打开帮助信息
nginx -?,-h 
#显示版本信息并退出
nginx -v 
#显示版本和配置选项信息,然后退出
nginx -V 
#检测配置文件是否有语法错误,然后退出
nginx -t 
#检测配置文件是否有语法错误,转储并退出
nginx -T #在检测配置文件期间屏蔽非错误信息
nginx -q#设置前缀路径(默认是:/usr/share/nginx/)
nginx -p prefix#设置配置文件(默认是:/etc/nginx/nginx.conf)
nginx -c filename#设置配置文件外的全局指令
nginx -g directives
#杀死所有nginx进程
killall nginx 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/640779.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

淘客返利系统自动赚佣金机器人深度解析

淘客返利系统自动赚佣金机器人深度解析 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;让我们一同深度解析淘客返利系统中的自动赚佣金机器人&…

鸿蒙原生应用/元服务实战-DevEco Studio 模拟器资源经常不足

DevEco Studio 模拟器资源经常不足&#xff0c;模拟器是最方便和最广泛的开发者可以快速体验应用元服务效果的途径&#xff0c;还是要加强。 除了Wearable,其他都用不了。 只能用预览器看效果&#xff0c;或者使用远程真机或者本地真机了。 在API9&#xff0c;比如分享等&…

数据结构-学习笔记

注意&#xff1a;该文章摘抄之百度&#xff0c;仅当做学习笔记供小白使用&#xff0c;若侵权请联系删除&#xff01; 什么是数据结构&#xff1f; 数据结构是计算机存储、组织数据的方式。 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。 结构包括逻辑结构和物…

php 文件移动、拷贝和删除

目录 1.rename 2.copy 3.unlink 1.rename rename(旧名, 新名); //重命名 <?php header("Content-Type: text/html; charsetutf-8");$a dirname(__FILE__);//获取当前文件绝对路径的目录$ret rename($a.\\test2.txt, $a.\\test.txt);//将test2.txt改名为test.…

leetcode第 381 场周赛最后一题 差分,对称的处理

第 381 场周赛 - 力扣&#xff08;LeetCode&#xff09;最后一题3017. 按距离统计房屋对数目 II - 力扣&#xff08;LeetCode&#xff09; dijkstra超时了&#xff0c;看了灵神的解题方法力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台&#xff0c;其…

二.用户与权限管理(二)

用户与权限管理 5.角色管理5.1角色的理解5.2创建角色5.3给角色赋予权限5.4查看角色的权限5.5回收角色的权限5.6删除角色5.7给用户赋予角色5.8激活角色5.9撤销用户角色5.10设置强制角色(mandatory role) 6.配置文件的使用6.1配置文件格式6.2 启动命令与选项组6.3 特定MySQL版本的…

【笔记】Helm-3 主题-10 Kubernetes分发指南

Kubernetes分发指南 Helm应该适用于任何 符合标准的Kubernetes版本 &#xff08;无论是否经过 认证 &#xff09;。 https://github.com/cncf/k8s-conformance Certified Kubernetes Software Conformance | CNCF 该文档捕获在特定Kubernetes环境中使用Helm的有关信息。如果…

java数组ArrayList(存对象)

1、dade文件 package model;public class dade {private int id;private String name;public dade() {}public dade(int id, String name) {this.id id;this.name name;}public int getId() {return id;}public void setId(int id) {this.id id;}public String getName() {…

推荐IDEA一个小插件,实用性很高!!

插件&#xff1a; Convert YAML and Properties File 由于每个人的开发习惯不同&#xff0c;在开发过程中会遇到各种小细节的问题。今天给大家介绍一个小插件&#xff0c;作用不大&#xff0c;细节很足。 就是properties类型文件和yml文件互相自由转换 解决&#xff1a;…

【webrtc】neteq测试工程

设置git代理 $ git config --global http.https://github.com.proxy socks5://127.0.0.1:7890 git config --global https.https://github.com.proxy socks5://127.0.0.1:7890导入cmake直接构建 win32 debug v143 编译opus Build started...

云原生全栈监控解决方案(全面详解)

【作者】JasonXu 前言 当前全球企业云化、数字化进程持续加速&#xff0c;容器、微服务等云原生技术在软件架构中快速渗透&#xff0c;IT 架构云化、复杂化持续驱动性能监控市场。企业云化、数字化持续转型&#xff0c;以及为了考虑系统的弹性、效率&#xff0c;企业软件开发中…

【linux】 查看 Linux 重启历史记录(reboot)

了解 Linux 重启日志 /var/log 目录隐藏着 Linux 日志机制的核心信息&#xff0c;它是记录系统活动的宝贵仓库。然而&#xff0c;仅仅有日志还不够&#xff0c;真正的难题在于&#xff0c;如何从大量数据中提炼出与系统重启相关的关键信息。 在 /var/log 目录中&#xff0c;可…

简单但全面了解一下webSocket

文章目录 webSocket是一种协议&#xff0c;设计用于提供低延迟、双全工和长期运行的连接什么是实时通信&#xff1f; webSocket之前的世界webSocket的优势为什么需要心跳机制&#xff1f;webSocket的限制 webSocket是一种协议&#xff0c;设计用于提供低延迟、双全工和长期运行…

CRM系统的痛点,如何解决?

在当今竞争激烈的商业世界中&#xff0c;客户关系管理&#xff08;CRM&#xff09;数字化转型已经成为大企业成功的重要秘诀。大型跨国公司如亚马逊、苹果和微软等已经在CRM数字化方面走在了前列&#xff0c;实现了高度个性化的客户体验&#xff0c;加强了客户忠诚度。 然而&a…

Conda python管理环境environments 四 从入门到精通

Conda系列&#xff1a; 翻译: Anaconda 与 miniconda的区别Miniconda介绍以及安装Conda python运行的包和环境管理 入门Conda python管理环境environments 一 从入门到精通Conda python管理环境environments 二 从入门到精通Conda python管理环境environments 三 从入门到精通…

【Linux】解决能访问github但克隆不了的问题

文章目录 1.查看你的代理的地址&#xff1a;2.git设置3.尝试clone 1.查看你的代理的地址&#xff1a; 2.git设置 先看看当前的git设置 $ git config --list然后git中要设置好对应的地址 git config --global http.proxy 127.0.0.1:78903.尝试clone $ git clone https://git…

服务器感染了.wis[[Rast@airmail.cc]].wis勒索病毒,如何确保数据文件完整恢复?

导言&#xff1a; 在当今数字化的时代&#xff0c;恶意软件攻击已经变得越来越复杂和狡猾&#xff0c;[[MyFilewaifu.club]].wis [[backupwaifu.club]].wis[[Rastairmail.cc]].wis勒索病毒是其中的一种新威胁。本文91数据恢复将深入介绍[[MyFilewaifu.club]].wis [[backupwaif…

机器学习实验报告-集成学习

目录 一、集成学习介绍 1.1集成学习的引入 1.2集成学习发展史 1.3集成学习的学习组织方式 1.3.1并联组织关系 1.3.2串联组织关系 1.4集成学习及其实现方法概述 二、集成学习实现方法 2.1Boosting 2.1.1基本过程 2.1.2注意点 2.2bagging 2.2.1基本过程 2.2.2注意点…

[SpringBoot2.6.13]FastJsonHttpMessageConverter不生效

文章目录 错误描述问题分析打印目前所有的消息处理器寻找适配版本消息解释器加载顺序 错误原因正确写法使用最新版本fastjson(2024-1-22)配置fastjson2消息转换器(保留系统原消息转换器)替换消息转换器配置fastjson2 错误描述 采用Bean的方式配置FastJsonHttpMessageConverter…

苹果眼镜(Vision Pro)的开发者指南(4)——ARKit插件

该平台运用ARKit算法,处理持久性、世界映射、分割、遮罩和环境照明等功能。这些算法持续运行,使得应用和游戏在共享空间中自动受益于ARKit。一旦应用启动专用的Full Space,它便能利用ARKit API,完美融合虚拟与现实世界。 在此,我们将深入探讨这个框架如何重新定义交互体验…