精华内容
下载资源
问答
  • 在linux服务器上传,Jdk从下载到安装到配置以及nginx从下载到安装配置
  • 搭建java 环境 安装nginx linux基础命令创建用户useradd $用户名 passwd $用户名查看Linux机器是32位还是64位uname -a; i686 or x86_64搭建java 环境 在usr目录下建立java安装目录 cd /usr mkdir java 将jdk-8u60-...

    linux基础命令

    创建用户

    useradd $用户名  
    passwd $用户名
    

    查看Linux机器是32位还是64位

    uname -a;  i686 or x86_64
    

    搭建java 环境

    • 在usr目录下建立java安装目录
    cd /usr
    mkdir java
    
    • 将jdk-8u60-linux-x64.tar.gz下载并拷贝到java目录下
    oracle
    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    openjdk
    yum install java-1.8.0-openjdk* -y
    
    • 解压jdk到当前目录,得到文件夹 jdk1.8.0_*
    tar -zxvf jdk-8u131-linux-x64.tar.gz
    
    • 安装完毕为他建立一个链接以节省目录长度
    ln -s /usr/java/jdk1.8.0_131/ /usr/jdk
    
    • 编辑配置文件,配置环境变量
    vim /etc/profile
    
    在文本的末尾添加如下内容:
    
    JAVA_HOME=/usr/jdk
    CLASSPATH=$JAVA_HOME/lib/
    PATH=$PATH:$JAVA_HOME/bin
    export PATH JkAVA_HOME CLASSPATH
    
    • 重启机器或执行命令使配置生效
    source /etc/profile
    or
    shutdown -r now
    
    • 查看安装情况
    java -version
    

    安装nginx

    tar -zxvf openssl-1.1.0f.tar.gz
    cd openssl-1.1.0f
    ./config
    make
    make install
    
    • 装gzip模块需要zlib库
    tar -zxvf zlib-1.2.11.tar.gz
    cd zlib-1.2.11
    ./configure
    make
    make install
    
    • 安装 rewrite模块需要pcre库(请注意区分pcre or pcre2)
    tar -zxvf pcre-8.41.tar.gz
    cd pcre-8.41
    ./configure
    make
    make install
    
    • 安装 Nginx服务
    tar -zxvf nginx-1.12.1.tar.gz
    cd nginx-1.12.1
    ./configure --prefix=/usr/nginx --with-pcre=/usr/soft/pcre-8.41/ --with-zlib=/usr/soft/zlib-1.2.11/ --with-openssl=/usr/soft/openssl-1.1.0f/
    make
    make install
    
    展开全文
  • java操作nginx

    2019-09-23 03:07:39
    一,判断程序的部署环境nginx还是windows /** * 判断操作系统是不是windows * * @return true:是win false:是Linux */ public static boolean judgeOs() { String os = System.getPrope...

    一,判断程序的部署环境是nginx还是windows

        /**
         * 判断操作系统是不是windows
         * 
         * @return true:是win false:是Linux
         */
        public static boolean judgeOs() {
            String os = System.getProperty("os.name").toLowerCase();
            if (os != null && os.startsWith("windows")) {
                return true;
            } else {
                return false;
            }
        }

     

    二,开启nginx

    (1)开启windows系统的ngin

        /**
         * 开启windows系统的nginx
         * @throws IOException
         */
        private static void startWinProc() throws IOException{
            String myExe = "cmd /c start nginx";
            String CONFPREFIXURL = System.getProperty("user.dir") + File.separator + "nginx" 
                    + File.separator + "windows";
    
            File dir = new File(CONFPREFIXURL);
            String[] str = new String[] {};
            // 执行命令
            Runtime.getRuntime().exec(myExe, str, dir);
        }

     

    (2)开启linux系统的nginx

        /**
         * 开启linux的nginx
         * @throws IOException
         */
        private static void startLinuxProc() throws IOException {
            System.out.println("开启进程:" + "nginx");
            String command1 = "/usr/local/nginx/sbin/nginx";
    
            String pro = executeCmd2(command1);
            System.out.println(pro);
        }

     

    (3)跨平台开启Nginx

        /**
         * 跨平台启动nginx
         * 
         * @throws IOException
         */
        private static void startProc() throws IOException {
            if (judgeOs()) {
                startWinProc();
            } else {
                startLinuxProc();
            }
        }

     

    三,关闭nginx

    (1)关闭windows系统的nginx

        
        /**
         *关闭windows系统的nginx 
         * @throws IOException
         */
        public static void  KillWin() throws IOException{
            executeCmd("taskkill /F /IM " + "nginx.exe");
        }

     

    (2)关闭linux系统的nginx

        /**
         * 关闭linux系统的nginx
         * @throws IOException
         */
        private static void killLinuxProc() throws IOException {
            String command = "pkill -9 nginx";
            executeCmd(command);
        }

     

    (3)nginx的跨平台关闭

        /**
         * 跨平台关闭nginx 
         * @throws IOException
         */
        public static void killProc() throws IOException {
            if(judgeOs()){
                KillWin();
            }else{
                killLinuxProc();
            }
        }

     

    四,获取项目所在的磁盘位置

            String CONFPREFIXURL = System.getProperty("user.dir");
            System.out.println(CONFPREFIXURL);

     

    五,获取项目所在主机ip

        /**
         * 获取项目部署环境的ip
    *
    @return */ public static String getIP() { String url = "";; try { for (Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces(); e.hasMoreElements(); ) { NetworkInterface item = e.nextElement(); for (InterfaceAddress address : item.getInterfaceAddresses()) { if (item.isLoopback() || !item.isUp()) { continue; } if (address.getAddress() instanceof Inet4Address) { Inet4Address inet4Address = (Inet4Address) address.getAddress(); url =inet4Address.getHostAddress(); } } } //url = InetAddress.getLocalHost().getHostAddress(); } catch (SocketException e) { throw new RuntimeException(e); } return url; }

    更多获取系统变量的方法:https://www.cnblogs.com/excellencesy/p/11278889.html

    六,完整工具类

    package com.googosoft.until;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.Inet4Address;
    import java.net.InterfaceAddress;
    import java.net.NetworkInterface;
    import java.net.SocketException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.Enumeration;
    import java.util.List;
    
    public class NginxUtil {
    
        /**
         * 
         * @return 1:代理重启成功 2:进程未开启 3:进程关闭时出错 4:进程启动时出错
         */
        public static int reStartProc() {
    
            int flag = 0;
            if (findProcess()) {
                // 进程没开启
                try {
                    killProc();
                } catch (IOException e) {
                    e.printStackTrace();
                    System.err.println("nginx.exe" + "线程开启失败");
                } finally {
                    if (findProcess()) {
                        flag = 3;// 关闭失败
                    }
                }
    
                try {
                    startProc();
                } catch (IOException e) {
                    e.printStackTrace();
                } finally {
                    if (findProcess()) {
                        flag = 1;// 开启成功
                    } else {
                        flag = 4;// 启动失败
                    }
                }
    
            } else {
                // 进程未开启
                flag = 2;
            }
            return flag;
        }
    
        /**
         * 关闭nginx进程
         * 
         * @return 1:进程关闭成功 2:进程没有开启 3:进程关闭失败
         */
        public static int stop() {
            int flag = 0;
    
            if (findProcess()) {
                // 进程开启了
                try {
                    killProc();
                } catch (IOException e) {
                    e.printStackTrace();
                    System.err.println("nginx.exe" + "线程关闭失败");
                } finally {
                    if (!findProcess()) {
                        flag = 1;// 关闭成功
                    } else {
                        flag = 3;// 关闭失败
                    }
                }
            } else {
                // 进程没开启
                flag = 2;
            }
            return flag;
    
        }
    
        /**
         * 跨平台关闭nginx
         * 
         * @throws IOException
         */
        public static void killProc() throws IOException {
            if (judgeOs()) {
                KillWin();
            } else {
                killLinuxProc();
            }
        }
    
        /**
         * 关闭windows系统的nginx
         * 
         * @throws IOException
         */
        public static void KillWin() throws IOException {
            executeCmd("taskkill /F /IM " + "nginx.exe");
        }
    
        /**
         * @desc 执行cmd命令
         */
        public static String executeCmd(String command) throws IOException {
            Runtime runtime = Runtime.getRuntime();
            Process process = runtime.exec("cmd /c " + command);
            // Process process = runtime.exec( command);
            BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-8"));
            String line = null;
            StringBuilder build = new StringBuilder();
            while ((line = br.readLine()) != null) {
                System.out.println(line);
                build.append(line);
            }
            return build.toString();
        }
    
        /**
         * @desc 执行cmd命令
         */
        public static String executeCmd2(String command) throws IOException {
            Runtime runtime = Runtime.getRuntime();
            Process process = runtime.exec(command);
            BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-8"));
            String line = null;
            StringBuilder build = new StringBuilder();
            while ((line = br.readLine()) != null) {
                System.out.println(line);
                build.append(line);
            }
            return build.toString();
        }
    
        /**
         * @desc 判断进程是否开启
         */
        public static boolean findProcess() {
            String processName = "nginx.exe";
            BufferedReader bufferedReader = null;
            try {
                Process proc = Runtime.getRuntime().exec("tasklist -fi " + '"' + "imagename eq " + processName + '"');
                bufferedReader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
                String line = null;
                while ((line = bufferedReader.readLine()) != null) {
                    if (line.contains(processName)) {
                        return true;
                    }
                }
                return false;
            } catch (Exception ex) {
                ex.printStackTrace();
                return false;
            } finally {
                if (bufferedReader != null) {
                    try {
                        bufferedReader.close();
                    } catch (Exception ex) {
                    }
                }
            }
        }
    
        /**
         * 关闭linux系统的nginx
         * 
         * @throws IOException
         */
        private static void killLinuxProc() throws IOException {
            String command = "pkill -9 nginx";
            executeCmd(command);
        }
    
        /**
         * 打印进程的状态
         * 
         * @param programName1
         */
        public static void logStatus() {
            boolean flag = findProcess();
            if (flag) {
                System.out.println();
                System.err.println("nginx.exe" + "进程状态:开启");
                System.out.println();
            } else {
                System.out.println();
                System.err.println("nginx.exe" + "进程状态:关闭");
                System.out.println();
            }
        }
    
        /**
         * 开启linux的nginx
         * @throws IOException
         */
        private static void startLinuxProc() throws IOException {
            System.out.println("开启进程:" + "nginx");
            String command1 = "/usr/local/nginx/sbin/nginx";
    
            String pro = executeCmd2(command1);
            System.out.println(pro);
        }
    
        /**
         * windows平台开启
         * 
         * @throws IOException
         *             1:开启成功 2:开启失败 3:已开启
         */
        public static int start() {
            int flag = 0;
    
            if (!findProcess()) {
                // 进程开启了
                try {
                    startProc();
                } catch (IOException e) {
                    e.printStackTrace();
                    System.err.println("nginx.exe" + "线程关闭失败");
                } finally {
                    if (findProcess()) {
                        flag = 1;// 开启成功
                    } else {
                        flag = 2;// 开启失败
                    }
                }
            } else {
                // 进程已经开启
                flag = 3;
            }
            return flag;
        }
    
        /**
         * 跨平台启动nginx
         * 
         * @throws IOException
         */
        private static void startProc() throws IOException {
            if (judgeOs()) {
                startWinProc();
            } else {
                startLinuxProc();
            }
        }
    
        /**
         * 开启windows系统的nginx
         * 
         * @throws IOException
         */
        private static void startWinProc() throws IOException {
            String myExe = "cmd /c start nginx";
            String CONFPREFIXURL = System.getProperty("user.dir") + File.separator + "nginx" + File.separator + "windows";
    
            File dir = new File(CONFPREFIXURL);
            String[] str = new String[] {};
            // 执行命令
            Runtime.getRuntime().exec(myExe, str, dir);
        }
    
        /**
         * 判断操作系统是不是windows
         * 
         * @return true:是win false:是Linux
         */
        public static boolean judgeOs() {
            String os = System.getProperty("os.name").toLowerCase();
            if (os != null && os.startsWith("windows")) {
                return true;
            } else {
                return false;
            }
        }
    
        /**
         * 获取项目部署环境的ip
         * 
         * @return
         */
        public static String getIP() {
            String url = "";
            ;
            try {
                for (Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces(); e.hasMoreElements();) {
                    NetworkInterface item = e.nextElement();
                    for (InterfaceAddress address : item.getInterfaceAddresses()) {
                        if (item.isLoopback() || !item.isUp()) {
                            continue;
                        }
                        if (address.getAddress() instanceof Inet4Address) {
                            Inet4Address inet4Address = (Inet4Address) address.getAddress();
                            url = inet4Address.getHostAddress();
                        }
                    }
                }
                // url = InetAddress.getLocalHost().getHostAddress();
            } catch (SocketException e) {
                throw new RuntimeException(e);
            }
            return url;
        }
    
        /**
         * 判断某个字符串是否是数字
         * 
         * @param str
         * @return
         */
        public static boolean isNumer(String str) {
            for (int i = 0; i < str.length(); i++) {
                if (!Character.isDigit(str.charAt(i))) {
                    return false;
                }
            }
            return true;
        }
    
        /**
         * 以行为单位读取文件,常用于读面向行的格式化文件
         * 
         * @return
         */
        public static int getPort() {
            String fileName = getConfAddr();
            int port = -1;
            File file = new File(fileName);
            BufferedReader reader = null;
            String lastLine = "";
            try {
                reader = new BufferedReader(new FileReader(file));
                String tempString = null;
                // 一次读入一行,直到读入null为文件结束
                while ((tempString = reader.readLine()) != null) {
                    if (!tempString.trim().startsWith("#") && tempString.trim().length() != 0) {
                        // System.out.println(tempString.trim());
                        if ("server {".equals(lastLine.trim())) {
                            String content = tempString.trim();
                            if (content.startsWith("listen") && content.endsWith(";")) {
                                String number = content.replace("listen", "").replace(";", "").trim();
                                if (isNumer(number))
                                    port = Integer.parseInt(number);
                            }
                        }
                        lastLine = tempString;
                    }
                }
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException e1) {
                    }
                }
            }
    
            return port;
        }
    
        public static String getConfAddr() {
            String CONFPREFIXURL = System.getProperty("user.dir") + File.separator + "nginx" + File.separator;
            if (judgeOs()) {
                CONFPREFIXURL = CONFPREFIXURL + "windows" + File.separator + "conf" + File.separator + "nginx.conf";
            } else {
                // linux的处理
            }
            return CONFPREFIXURL;
        }
    
        public static void main(String[] args) {
    
        }
    
    }

     

    转载于:https://www.cnblogs.com/excellencesy/p/11278994.html

    展开全文
  • 我将带领大家使用Java、FFmpeg、Nginx亲手搭建“直播网站”。 主要内容包括: 1、亲手搭建Java+nginx直播网站,用源码方式编译nginx和rtmp模块。 2、亲手搭建FFmpeg环境,并使用命令行进行直播推流。 3、亲手搭建...
  • 高并发下的Nginx性能优化实战

    万人学习 2019-12-24 14:44:52
    【超实用课程内容】 本课程内容包含讲解解读Nginx的基础知识,解读Nginx的核心知识、带领学员进行高并发环境下的Nginx性能优化实战,让学生能够快速将所学融合到企业应用中。 【课程如何观看?】 PC端:...
  • 配置Java环境2.安装Tomcat二、安装Nginx1. 编译工具及库文件2.安装PCRE3.安装Nginx4.编辑Nginx配置文件三.小结 一、安装Tomcat9.0 1.配置Java环境 先卸载系统自带的恶心人的openjdk,方法的话比较暴力,使用rpm...

    CentOS使用Nginx反向代理Tomcat部署Java Web项目


    今天我舍友问我:CSDN是什么意思?床上等你吗?



    一、安装Tomcat9.0

    1.配置Java环境

    先卸载系统自带的恶心人的openjdk,方法的话比较暴力,使用rpm找到所有java有关的包,一个一个卸载就可以了。

    [raichu@localhost bin]$ rpm -qa | grep java
    java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64
    java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
    python-javapackages-3.4.1-11.el7.noarch
    java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
    tzdata-java-2018e-3.el7.noarch
    javapackages-tools-3.4.1-11.el7.noarch
    java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64
    [raichu@localhost bin]$ sudo yum remove java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64
    
    

    一直卸载到rpm -qa | grep java什么都不显示为止。
    然后从Java官网下载JDK,如果没有特殊要求的话就下载最新版吧,Tomcat的最新版和JDK最新版同时使用不会出现兼容问题

    cd ~
    wget https://download.oracle.com/otn/java/jdk/8u261-b12/a4634525489241b9a9e1aa73d9e118e6/jdk-8u261-linux-x64.tar.gz?AuthParam=1601028104_c08130b1af5d94a8e19e7cad46402807
    #(需要登录才能下载)
    

    好像wget下载下来之后的文件后面还是带着AuthParam,重命名一下之后就可以进行解压了

    mv jdk-8u261-linux-x64.tar.gz\?AuthParam\=1601028104_c08130b1af5d94a8e19e7cad46402807 jdk-8u261-linux-x64.tar.gz
    tar -zvxf jdk-8u261-linux-x64.tar.gz
    

    然后配置环境变量

    [raichu@localhost jdk1.8.0_261]$ sudo vim /etc/profile
    

    在末尾追加以下内容(JAVA_HOME填jdk的实际位置,这里只是演示)

    #java
    export JAVA_HOME=/home/raichu/jdk1.8.0_261
    export PATH=$PATH:$JAVA_HOME/bin
    

    保存并退出后执行

    [raichu@localhost jdk1.8.0_261]$ source /etc/profile
    

    查看java版本,看到现在java使用的已经不是恶心人的openjdk了

    [raichu@localhost jdk1.8.0_261]$ java -version
    java version "1.8.0_261"
    Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
    

    2.安装Tomcat

    从官网下载tomcat最新版9.0,解压并进入文件夹

    [raichu@localhost ~]$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.38/bin/apache-tomcat-9.0.38.tar.gz
    [raichu@localhost ~]$ tar -zvxf apache-tomcat-9.0.38.tar.gz 
    [raichu@localhost ~]$ cd apache-tomcat-9.0.38/bin
    [raichu@localhost bin]$ ./startup.sh 
    Using CATALINA_BASE:   /home/raichu/apache-tomcat-9.0.38
    Using CATALINA_HOME:   /home/raichu/apache-tomcat-9.0.38
    Using CATALINA_TMPDIR: /home/raichu/apache-tomcat-9.0.38/temp
    Using JRE_HOME:        /home/raichu/jdk1.8.0_261
    Using CLASSPATH:       /home/raichu/apache-tomcat-9.0.38/bin/bootstrap.jar:/home/raichu/apache-tomcat-9.0.38/bin/tomcat-juli.jar
    Using CATALINA_OPTS:   
    Tomcat started.
    

    其实到这儿如果不出错的话,tomcat已经在监听内网的8080端口了,我用的finalshell可以很清楚的看到java占用了内存和CPU,说明正常的运行了,如果出错,tomcat退出了,可以查看logs/catalina.out来检查错误报告
    tomcat成功运行

    二、安装Nginx

    关于Nginx的安装我主要是借鉴的菜鸟教程

    1. 编译工具及库文件

    这步没啥好说的,用yum安装一下就可以。

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

    2.安装PCRE

    依次执行下列命令,即可完成PCRE编译。最喜欢看执行configure和make的时候刷刷刷冒出来的代码了,很有大黑客的感觉

    cd /usr/local/src/
    su root
    wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
    tar -zxvf pcre-8.35.tar.gz
    cd pcre-8.35
    ./configure
    make && make install
    

    执行完后,如果能正常显示PCRE版本即可

    [raichu@localhost pcre-8.35]$ pcre-config --version
    8.35
    

    3.安装Nginx

    还是从官网下载Nginx的源代码, 解压,配置,编译,不再赘述,如果上一步PCRE位置正确的话,这一步的配置代码可以直接复制。等待编译完成就算是成功安装了Nginx

    cd /usr/local/src/
    su root
    wget http://nginx.org/download/nginx-1.6.2.tar.gz
    tar -zvxf nginx-1.6.2.tar.gz
    cd nginx-1.6.2.tar.gz/
    ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
    make && make install
    

    安装后尝试显示一下版本

    [root@localhost nginx-1.6.2]$ /usr/local/webserver/nginx/sbin/nginx -v
    nginx version: nginx/1.6.2
    

    为了以后便于操作nginx,我还建立了一个软连接,软连接可以通俗的理解成“快捷方式”,放到/usr/bin下便于直接输入nginx来调用nginx应用,而不是每次都要输入/usr/local/webserver/nginx/sbin/nginx,关于软连接详细的讲解可以看这篇文章

    ln /usr/local/webserver/nginx/sbin/nginx /usr/bin
    

    4.编辑Nginx配置文件

    既然要进行反向代理,那还得说一下反向代理的原理。
    关于正向代理,应该有一定的了解了。
    代理服务器Proxy和用户Client建立连接后再请求服务器Server,通俗点说就是起到了隐藏用户Client的用途,或者说当Client和Server不能直接建立连接的时候起到桥梁的作用(科学上网就是基于这种原理来做的)
    正向代理
    而反向代理则是将整个过程反了过来,隐藏服务器server,很多时候需要反向代理都是因为服务器Server太弱小,其安全程度低或能力不够强,不足以直接和大量client进行连接,Proxy可以将请求分配到空闲的server上,并帮助server分担一些压力(例如Nginx代理静态资源,Tomcat只解析动态资源)。
    反向代理

    为了反向代理,我们需要让Nginx作为Proxy监听80端口,并将80端口的请求转发至内网的8080端口,来让Tomcat处理。我们可以先建立一个用户用于Nginx的服务

    /usr/sbin/groupadd www 
    /usr/sbin/useradd -g www www
    

    然后配置nginx.conf

    vi /usr/local/webserver/nginx/conf/nginx.conf
    

    我只用了最简单的配置,简单的配置了8080端口的反向代理,关于这个文件的具体配置方法,网络上有很多教程。

    user www www;#用户有关信息
    worker_processes 1;#这里和CPU核心数一致
    error_log /usr/local/webserver/nginx/logs/nginx_error.log crit;#错误文件目录和等级
    pid /usr/local/webserver/nginx/nginx.pid;
    worker_rlimit_nofile 65535;
    events
    {
      use epoll;
      worker_connections 65535;
    }
    http
    {
            server
            {
                    listen 80;
                    location /{
                            proxy_pass http://127.0.0.1:8080;#反向代理的内网端口
                        	proxy_read_timeout 60;
                    }
            }
    }
    
    

    配置好配置文件之后,可以使用Nginx引以为傲的热加载进行配置,使用nginx -t命令测试配置文件

    [root@localhost raichu]$ nginx -t
    nginx: the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/webserver/nginx/conf/nginx.conf test is successful
    

    如果测试通过,就可以使用nginx -s reopen重启nginx服务,然后就可以尝试访问了,如果访问不了可能是防火墙的问题,可以尝试用lynx在ssh里去访问http://127.0.0.1:80 如果内网可以访问而外网无法访问,可以通过这个教程来打开80端口。

    三.小结

    使用Nginx反向代理的关键就在于写好Nginx的配置文件,其余的都是很基础的安装。除了Tomcat,Nginx也可以反向代理gunicorn这种Python服务器,方法类似,如果遇到任何问题,欢迎评论讨论。

    展开全文
  • Nginx部署链接:[Linux服务器Java编程环境部署大纲指南](https://blog.csdn.net/LvJzzZ/article/details/106459712)一、安装方式及补充说明二、安装依赖三、下载并解压四、编译安装并检查版本五、启动Nginx六、...

    链接:Linux服务器Java编程环境部署大纲指南

    ※ 今日江坛

    • wget下载安装
    • 什么是Nginx:
      Nginx是一个高性能的 HTTP 和反向代理跨平台服务器,使用基于事件驱动架构,可以运行在 Linux、Windows、FreeBSD、Solaris、AIX、MacOS 等操作系统上,具有极大的稳定性。
    • Nginx特点:
      反向代理,负载均衡
      高可靠性、单Master多Worker模式
      高可扩展性、高度模块化
      非阻塞
      事件驱动
      低内存消耗
      热部署
    • Nginx应用场景:
      静态文件服务器
      反向代理,负载均衡
      安全防御
      智能路由
      灰度发布
      静态化
      消息推送
      图片实时压缩
      防盗链
    • Nginx和Tomcat
      Nginx可看作是HTTP Server,Tomcat可看作是Application Server,是一个Servlet/JSP应用的容器
      一个HTTP Server关心的是HTTP协议层面的传输和访问控制,所以在nginx上看到代理,负载均衡等动能。客户端通过HTTP Server访问服务器上存储的资源。通过CGI技术,也可以将处理过的内容通过HTTP Server分发,但是一个HTTP Server始终只是把服务器上的文件如实的通过HTTP协议传输给客户端。
      而应用服务器,则是一个应用执行的容器。他首先需要支持开发语言的Runtime,保证正常运行。其次支持相关的规范,例如类库,安全方面的特性。对于tomcat,提供JSP/Servlet运行需要的标准类库、Interface等。应用服务器也会继承HTTP Server的功能,但不够专业,所以应用服务器往往运行在HTTP Server的背后,执行应用,将动态的内容转化成为静态的内容之后,通过HTTP Server分发给客户端。
      nginx常用做静态内容服务和代理服务器,直面外来请求转发给后面的应用服务(tomcat,django等),tomcat更多用来做一个应用容器,让java web app 跑在里面的东西,对应同级别的有jboss,jetty等。

    一、安装依赖

    yum -y install pcre-devel
    yum -y install openssl openssl-devel
    

    1
    2

    二、下载并解压

    官网链接: https://nginx.org/download/

    cd /usr/local/
    mkdir nginx
    cd nginx
    wget http://nginx.org/download/nginx-1.18.0.tar.gz
    tar zxvf nginx-1.18.0.tar.gz
    

    3

    三、编译安装并检查版本

    cd nginx-1.18.0
    ./configure
    make && make install
    /usr/local/nginx/sbin/nginx -v
    
    • ./configure 是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。
    • make 是用来编译的,它从Makefile中读取指令,然后编译。
    • make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
      4
      5
      6

    四、配置系统变量

    vim /etc/profile
    export PATH=$PATH:/usr/localinx/sbin
    source /etc/profile
    

    8
    9

    五、启动Nginx

    [root@localhost sbin]# /usr/local/nginx/sbin/nginx    //启动
    [root@localhost sbin]# /usr/local/nginx/sbin/nginx -s stop    //停止
    [root@localhost sbin]# /usr/local/nginx/sbin/nginx -s reload    //重启
    

    六、浏览器验证

    7

    展开全文
  • 搭建Nginx+Java环境

    千次阅读 2018-08-24 10:15:48
    Tomcat在高并发环境下处理动态请求时性能很低,而在处理静态页面更加脆弱。虽然Tomcat的最新版本支持epoll,但是通过Nginx来处理静态页面要比通过Tomcat处理在性能方面好很多。 二、下载安装: 下载nginx ...
  • 系统环境搭建centos7下载与安装(Mini版)配置ip地址与防火墙管理(开启,关闭,配置规则..)ssh服务配置(接近0配置,尤其是云服务器,一般自带)ssh客户端免密连接服务端(用户linux之间快速联机,此时用不上)nginx环境搭建...
  • Linux系统java环境(以及Nginx反向代理) 主要安装jdk和Tomcat环境 1.tomcat环境安装 2.jak环境安装以及环境变量配置 两种方式: 第一种:使用yum方式安装jdk 第二种:直接官网下载压缩包进行安装(以下只讲第一种...
  • (1)配置网络 vi /etc/sysconfig/network-scripts/ifcfg-ens33 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=dhcp service network restart ifconfig BOOTPROTO=static IPADDR=192.168.0.X ...
  • nginx配置,超级详细,适合入门,nginx配置,超级详细,适合入门,nginx配置,超级详细,适合入门
  • 基于docker容器,把最常规的nginx+java的部署环境迁移到容器中的操作手册
  • Java 多版本环境Nginx Tomcat JDK MySql)说明文档,
  • Nginx 中配置服务的反向代理1.需求2.安装 tomcat3.配置 tomcat4.配置 Nginx 实现服务的反向代理5.在反向代理中配置负载均衡1.什么是负载均衡2.Nginx 负载均衡策略...Nginx 安装在 192.168.70.144 环境中 2.安装 tomcat
  • JAVA的安装 参考源网站:https://blog.csdn.net/qq_39295044/article/details/87282943@Lloyd-He 一、卸载服务器上老版本 java rpm -qa | grep jdk 如有老版本java 执行上述命令后会展示已安装的java各个版本 ...
  • 包含java ,tomcat 、nginx 、node 等环境,用到的文件包(apache-tomcat-8.5.9.tar.gz,Dockerfile,entrypoint.sh,nginx-1.15.12.tar.gz,node-v12.13.0.tar.gz,node-v12.13.0-linux-x64.tar.xz,rarlinux-x64-5.3.0....
  • 用例:客户端访问Nginx服务,Nginx反向代理的作用:项目部署在多个Tomcat上 即使其中一个tomcat不能访问了也能访问其他的Tomcat服务 其他负载均衡的作用效果可以自行百度。(分享给跟我一样的小白)推荐文章:-Nginx...
  • Java知识体系最强总结(2021版)

    万次阅读 多人点赞 2019-12-18 10:09:56
    本人从事Java开发已多年,平时有记录问题解决方案和总结知识点的习惯,整理了一些有关Java的知识体系,这不是最终版,会不定期的更新。也算是记录自己在从事编程工作的成长足迹,通过博客可以促进博主与阅读者的共同...
  • nginx并不是一门技术,而是高性能...但是因为JAVA在开发web服务器中占比十分之高,而高性能的后台服务却少不了nginx的参与,所以JAVA程序员不得不学习nginx原理和使用! 先来看下什么是nginxnginx是一种轻量级...
  • 项目中遇到需要获取请求端口的需求,本地测试时可以获得请求url中的port, 到测试环境下用到nginx 反向代理,获取的port就被偷天换日了,下面记录下解决过程。 正文 一、 获取http请求的Port # 方法参数为...
  • 需求:公司目前使用Haproxy反代ES,...问题:换成Nginx之后,用curl -XGET'http://esabc.com:9231',来测试,Nginx能有效负载均衡,以及失效转移,但生产环境迁移之,Java的模块org.elasticsearch向后请求出现:4...
  • 搭建文件服务器,Java+Centos7+Nginx

    千次阅读 2019-12-22 19:04:17
    前言 最近试着搭建一个文件服务器,因为在企业应用开发中文件往往都是单独存储在一个服务器中的,与应用服务器相分离,数据库层面...后端Java,SpringBoot2.2.2.RELEASE 服务器Centos7,Nginx 后端处理详情 分环...
  • CentOS 7.6版本服务器部署JavaWeb部署应用环境及安装流程包含(NGINX、PostgreSQL、Java),该记录主要是为了方便以后查看部署运行环境而记录。 一、安装PostgreSQL 1/进入PostgreSQL官网下载页面...
  • # 设置java环境变量 RUN \  cd /opt/tools \  && tar -zxvf jdk-8u102-linux-x64.tar.gz \  && rm -rf jdk-8u102-linux-x64.tar.gz \  && tar -zxvf apache-tomcat-7.0.70.tar.gz \  && rm -rf apache-...
  • Ubuntu下JavaNginx和Tomcat的安装部署

    千次阅读 2017-10-27 16:03:12
    Ubuntu下JavaNginx和Tomcat的安装之前在阿里云上面闲置着一个Linux ECS,昨天正好要给上海二中部署一套新高考教务系统,就搞了一下。Linux环境下部署Nginx和Tomcat的运行环境会经常遇到,在此记录一下供以后参考。...
  • ubuntu 采坑记录一、前言二、安装 Java 环境三、MySQL 自行配置四、Nginx 配置五、防火墙配置 一、前言 眼看 11 月份自己的云服务器的一年期限要过期了。最近也没有特别的活动,就抓紧时间买了一年的学生机。装的是 ...
  • 1.环境准备 Linux服务器一台(外网、内网都行) Docker环境安排一下 NGINX-RTMP镜像 推流工具点击下载 拉流工具点击下载 2.开撸 进入linux,安装docker,拉取nginx-rtmp镜像,修改配置,启动镜像ok! 拉取镜像 ...
  • 关于 php java环境的共存服务器配置 当你的服务器linux环境 安装好了 php 和 java常见的tomcat 后 当访问java的时候端口默认为8080 那么如何让php 环境与java共存? nginx的配置: 关键: server { listen 80; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,217
精华内容 30,486
关键字:

java环境nginx

java 订阅