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

这篇具有很好参考价值的文章主要介绍了Nginx之Centos7安装及配置代理多个后端服务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Nginx之Centos7安装

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 library

  nginx 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具体配置如下文章来源地址https://www.toymoban.com/news/detail-820959.html

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:7001
		location ~ /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 

到了这里,关于Nginx之Centos7安装及配置代理多个后端服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 利用阿里云服务器(CentOS7.8 64位)建站时报404 Not Found nginx解决办法以及Nginx(1.20.1)的安装及配置全过程

            这几天在利用阿里云服务器部署自建小网站项目时,发现这个问题:404 Not Found nginx。经过检查后发现是因为Nginx在云服务器上还没安装上。现准备好以后解决办法供有需要的小伙伴们参考。         网站域名及备案的具体步骤我就不再一一说啦,不知道的可以看

    2024年02月04日
    浏览(39)
  • CentOS7---Nginx安装并配置虚拟主机

    源码包的获取:http://nginx.org/download/ 实验环境:和企业环境类似,关闭防火墙,禁用selinux,使用静态IP地址 Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了 很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,

    2023年04月16日
    浏览(36)
  • nginx 多层代理 + k8s ingress 后端服务获取客户真实ip 配置

    1.nginx http 七层代理 修改命令空间: namespace: nginx-ingress : configmap:nginx-configuration 添加如上配置 compute-full-forwarded-for: “true” forwarded-for-header: X-Forwarded-For use-forwarded-headers: “true” 即可; 2. nginx stream 4层代理: nginx 需要编译增加–with-stream_realip_module模块,然后对应的server块

    2024年02月08日
    浏览(34)
  • Centos7笔记09之nginx反向代理grafana

    使用nginx反向代理访问grafana服务 本例测试用的域名(假的):                  x179.com 本例原本能正常访问的grafana地址:   192.168.10.90:3000 准备用nginx反代grafana后的地址:      http://x179.com/grafana/ 1、修改配置 ● 修改 [server] 区域    ○ 修改 ;domain = localhost  改为 domain

    2024年01月25日
    浏览(42)
  • Centos7.9服务器编译安装Nginx1.24.0和php8.3

    服务器nginx原版本有安全漏洞,需要升级,由于原始是yum源安装,通过yum直接升级,无法正常升级完成,故而需要卸载yum源,重新编译安装。 1、查看原来nginx版本,ps查看原来nginx进程,运行状态: 查看nginx版本号为1.20:

    2024年02月20日
    浏览(39)
  • 基于centos7.9通过nginx实现负载均衡以及反向代理

    摘要:负载均衡: 负载均衡是一种技术,用于在多个服务器之间分发传入的网络流量,以平衡服务器的负载,提高系统的可用性和性能。当您有多台服务器时,您可以使用负载均衡将请求分发到这些服务器上,从而防止单个服务器过载而影响用户体验。 反向代理: 反向代理

    2024年02月13日
    浏览(31)
  • CentOS7 安装配置SFTP服务器详解

    SSH文件传输协议 (英语: SSH File Transfer Protocol ,也称 Secret File Transfer Protocol ,中文:安全文件传送协议,英文: Secure FTP 或字母缩写: SFTP )是一种数据流连接,提供文件访问、传输和管理功能的

    2024年01月16日
    浏览(38)
  • (Linux)Centos7.*版本安装配置Java环境、Tomcat、Nginx并打包部署SSM框架web系统

    目录 一、准备软件与安装包 (一)、必须的软件 1、点击下载Xshell 2、点击下载FileZilla (二)、准备安装包 1、点击下载JDK1.8Linux版本 2、点击下载Nginx 3、点击下载Tomcat   二、关于FileZilla软件的使用说明 (一)、FileZilla软件的打开和说明 (二)、配置服务器地址去连接服务器  三、X

    2023年04月25日
    浏览(47)
  • nginx-代理多个服务

    目录 1.主机多Ip 1.1单网卡多ip主机配置 1.2修改default.conf 1.3server1.conf 1.3server2.conf 1.4测试文件 1.4重启测试 2.主机多端口 2.1server1.conf 2.2server2.conf 3.多域名代理 3.1server1.conf 3.2server2.conf     ​

    2023年04月13日
    浏览(22)
  • nginx配置代理多个前端资源

    log: 背景 两套不同的前端使用同一个后端服务,前端使用的Nginx代理的dist包 前端 vue+elementui 后端 Python+flask Nginx代理设置 1.进入Linux机器,whereis nginx 查看Nginx安装位置  2.进到Nginx配置文件下 3.vim nginx.conf  通过多个server管理多个端口前端资源代理 #前端一,端口8080访问就可以

    2023年04月09日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包