• Nginx



    基于本链接:https://blog.csdn.net/qq_38490457/article/details/108300342

    nginx检查配置文件和查看版本报错
    -bash: nginx: command not found

    在/etc/profile文件添加如下内容

    [root@ c7-41 ~]# vim /etc/profile
    
    PATH=/usr/java/jdk1.8.2.0_20/bin:$PATH:/usr/local/nginx/sbin
    
    [root@ c7-41 ~]# source /etc/profile	#添加完之后刷新配置文件
    
    • 1
    • 2
    • 3
    • 4
    • 5

    nginx重启失败可用一下方法

    [root@ c7-42 ~]# /usr/local/nginx/sbin/nginx -s reload
    nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
    [root@ c7-42 ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    
    • 1
    • 2
    • 3

    keepalived用kill杀死无法启动可以到/sbin目录下执行以下命令

    [root@ c7-41 sbin]# ./keepalived
    
    • 1

    keepalived报错
    Can‘t open PID file /var/run/keepalived.pid (yet?) after start: No such file or directory
    解决如下:

    [root@ c7-42 ~]# pkill keepalived
    [root@ c7-42 ~]# systemctl restart keepalived
    
    • 1
    • 2

    keepalived无法停止详解如下:

    systemctl stop keepalived 命令执行完之后查看keepalived进程还是存在的,打开下面配置文件对应位置添加ExecStop=/bin/lill -TERM $MAINPID即可;如果不行则把KillMode=process注释掉

    [root@ c7-41 ~]# vim /usr/lib/systemd/system/keepalived.service
    [Unit]
    Description=LVS and VRRP High Availability Monitor
    After=syslog.target network-online.target
    
    [Service]
    Type=forking
    PIDFile=/var/run/keepalived.pid
    #KillMode=process
    EnvironmentFile=-/etc/sysconfig/keepalived
    ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS
    ExecReload=/bin/kill -HUP $MAINPID
    ExecStop=/bin/kill -TERM $MAINPID	#添加本条命令
    
    [Install]
    WantedBy=multi-user.target
    
    [root@ c7-41 ~]# systemctl daemon-reload	#重新加载
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    Nginx概述

    1.Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 Nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

    2.Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支持 Java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达 50000 个并发连接数。

    Nginx单实例安装

    [root@ c7-41 ~]# yum install -y gcc gcc-c++ make libtool wget pcre pcre-devel zlib zlib-devel openssl openssl-devel	#安装依赖
    
    [root@ c7-41 ~]# wget http://nginx.org/download/nginx-1.19.0.tar.gz	#Nginx下载
    
    [root@ c7-41 ~]# tar -zxvf nginx-1.19.0.tar.gz	#Nginx解压
    
    [root@ c7-41 ~]# cd nginx-1.19.0/
    [root@ c7-41 nginx-1.19.0]# ./configure
    [root@ c7-41 nginx-1.19.0]# make && make install		#nginx安装
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    注意:安装完成后的路径为:/usr/local/nginx

    Nginx命令

    普通启动服务:/usr/local/nginx/sbin/nginx
    配置文件启动:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    暴力停止服务:/usr/local/nginx/sbin/nginx -s stop
    优雅停止服务:/usr/local/nginx/sbin/nginx -s quit
    检查配置文件:/usr/local/nginx/sbin/nginx -t
    重新加载配置:/usr/local/nginx/sbin/nginx -s reload
    查看相关进程:ps -ef | grep nginx
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    启动后效果
    在这里插入图片描述

    Nginx反向代理

    Nginx 不仅可以做反向代理,还能用作正向代理来进行上网等功能,正向代理:如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。对于反向代理,客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。

    修改Windows中的hosts域名映射

    地址:C:\Windows\System32\drivers\etc\hosts

    10.0.0.41 是虚拟机域名
    www.123.com 是你要映射的网址

    在这里插入图片描述
    修改Nginx中的配置文件并启动

    [root@ c7-41 ~]# vim /usr/local/nginx/conf/nginx.conf
    	
        server {
       
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
       
                proxy_pass http://127.0.0.1:8080;		#添加此内容
                root   html;
                index  index.html index.htm;
            }
    
    [root@ c7-41 ~]# /usr/local/nginx/sbin/nginx	#启动nginx	
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    下载Tomcat、jdk,修改jdk配置文件,解压Tomcat、安装Tomcat、启动Tomcat

    我用的之前下载好的tomcat和jdk

    wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.105/bin/apache-tomcat-7.0.105.tar.gz	
    
    • 1
    [root@ c7-41 ~]# ll	#这是我的tomcat和jdk版本
    total 149956
    -rw-------. 1 root root      1273 Apr 21  2020 anaconda-ks.cfg
    -rw-r--r--  1 root root   8234674 Nov  2 15:22 apache-tomcat-7.0.47.tar.gz
    -rw-r--r--  1 root root 142183549 Feb  9  2020 jdk-8u20-linux-x64.rpm
    
    [root@ c7-41 ~]# vim /etc/profile	#在配置文件最后添加以下内容,注意自己的版本号
    
    export JAVA_HOME=/usr/java/jdk1.8.0_20
    export JAVA_BIN=/usr/java/jdk1.8.0_20/bin
    
    [root@ c7-41 ~]# source /etc/profile	#刷新
    
    [root@ c7-41 ~]# tar -zxvf apache-tomcat-7.0.47.tar.gz	#解压tomcat
    
    [root@ c7-41 ~]# mv apache-tomcat-7.0.47 /usr/local/tomcat1	#移动路径并修改名称
    
    [root@ c7-41 ~]# /usr/local/tomcat1/bin/startup.sh	#启动tomcat
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    最终实现效果如下

    在这里插入图片描述

    配置反向代理实例2

    先关闭服务

    [root@ c7-41 ~]# /usr/local/nginx/sbin/nginx -s quit	#关闭nginx
    
    [root@ c7-41 ~]# /usr/local/tomcat1/bin/shutdown.sh	#关闭tomcat
    Using CATALINA_BASE:   /usr/local/tomcat1
    Using CATALINA_HOME:   /usr/local/tomcat1
    Using CATALINA_TMPDIR: /usr/local/tomcat1/temp
    Using JRE_HOME:        /usr/java/jdk1.8.0_20
    Using CLASSPATH:       /usr/local/tomcat1/bin/bootstrap.jar:/usr/local/tomcat1/bin/tomcat-juli.jar
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    修改Nginx配置文件并启动

    [root@ c7-41 ~]# vim /usr/local/nginx/conf/nginx.conf
    
        server {
       
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
       
                root   html;
                index  index.html index.htm;
            }
    
    
            location ~ /edu/ {
       
                proxy_pass http://127.0.0.1:8080;
            }	#添加内容
    
            location ~ /vod/ {
       
                proxy_pass http://127.0.0.1:8081;
            }	#添加内容
    
    [root@ c7-41 ~]# /usr/local/nginx/sbin/ng
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
  • 相关阅读:
    K8S:Yaml文件详解
    用netty实现简易rpc
    【TensorFlow Hub】:有 100 个预训练模型等你用
    STM32(十)------- SPI通信
    PHP代码审计DVWA\PHP代码审计DVWA文件上传[File Upload]
    Oracle笔记 之 空值null的处理
    taro 支付宝/微信小程序的chooseImage真机和开发工具上的区别
    关于《web课程设计》网页设计 用html css做一个漂亮的网站 仿新浪微博个人主页
    live555交叉编译(ubuntu+arm平台)
    记:lora及lorawan的一些概念话
  • 原文地址:https://blog.csdn.net/ycf20001002/article/details/127672716