不是很明白你说的。你是想用java程序修改这个配置文件?

解决方案 »

  1.   

    恩 就是在这个文件中 再加一个
    location ~ ^/host1/ {
    rewrite ^/host1/(.*)$ /$1 break;
    proxy_pass http://127.0.0.1:8080;
    }
    就是我怎么样添加 这段字符串到最后一个location的后面
      

  2.   


    读写文件会吗?如果是加在中间的话,边读边写,读到标志位的时候,把你要加的字符串写到文件中。最后再继续读继续写。InputStreamReader isr = new InputStreamReader(new FileInputStream(
                                    txtPath), "GBK");
                    BufferedReader br = new BufferedReader(isr);
                    StringBuffer sb = new StringBuffer();
                    String data = br.readLine();
                    while (data != null) {
                            sb.append(data.trim());
                            data = br.readLine();
                    }
                    return sb.toString();
    在结尾加上
      

  3.   

    如果说你这个配置文件里面的最后一个location就是处在文件的末尾的话,直接使用追加模式的PrintWriter的println
      

  4.   


    读写文件会吗?如果是加在中间的话,边读边写,读到标志位的时候,把你要加的字符串写到文件中。最后再继续读继续写。InputStreamReader isr = new InputStreamReader(new FileInputStream(
                                    txtPath), "GBK");
                    BufferedReader br = new BufferedReader(isr);
                    StringBuffer sb = new StringBuffer();
                    String data = br.readLine();
                    while (data != null) {
                            sb.append(data.trim());
                            data = br.readLine();
                    }
                    return sb.toString();
    在结尾加上
    这样 没法确定在什么地方加
    比如我要在error_page 前面  加
    location ~ ^/host1/ {
    rewrite ^/host1/(.*)$ /$1 break;
    proxy_pass http://127.0.0.1:8080;
    }
    我应该在读到什么的时候加呢  你那读写 是一个一个字符读的吧
      

  5.   


    读写文件会吗?如果是加在中间的话,边读边写,读到标志位的时候,把你要加的字符串写到文件中。最后再继续读继续写。InputStreamReader isr = new InputStreamReader(new FileInputStream(
                                    txtPath), "GBK");
                    BufferedReader br = new BufferedReader(isr);
                    StringBuffer sb = new StringBuffer();
                    String data = br.readLine();
                    while (data != null) {
                            sb.append(data.trim());
                            data = br.readLine();
                    }
                    return sb.toString();
    在结尾加上
    这样 没法确定在什么地方加
    比如我要在error_page 前面  加
    location ~ ^/host1/ {
    rewrite ^/host1/(.*)$ /$1 break;
    proxy_pass http://127.0.0.1:8080;
    }
    我应该在读到什么的时候加呢  你那读写 是一个一个字符读的吧一行一行的读啊。你找到一个标志就行了。error前面2行是proxy_pass http://127.0.0.1:8080;
    只要你读到这行就可以写了
      

  6.   

    正在学习用
    我前几天也安装了 本来是想研究 通过nginx 访问我的程序 然后可以不需要端口号 但是无疾而终。
      

  7.   


    读写文件会吗?如果是加在中间的话,边读边写,读到标志位的时候,把你要加的字符串写到文件中。最后再继续读继续写。InputStreamReader isr = new InputStreamReader(new FileInputStream(
                                    txtPath), "GBK");
                    BufferedReader br = new BufferedReader(isr);
                    StringBuffer sb = new StringBuffer();
                    String data = br.readLine();
                    while (data != null) {
                            sb.append(data.trim());
                            data = br.readLine();
                    }
                    return sb.toString();
    在结尾加上
    这样 没法确定在什么地方加
    比如我要在error_page 前面  加
    location ~ ^/host1/ {
    rewrite ^/host1/(.*)$ /$1 break;
    proxy_pass http://127.0.0.1:8080;
    }
    我应该在读到什么的时候加呢  你那读写 是一个一个字符读的吧一行一行的读啊。你找到一个标志就行了。error前面2行是proxy_pass http://127.0.0.1:8080;
    只要你读到这行就可以写了
    这样可以解决  但是 还有种情况 我刚写的配置文件里面 只有一个 server 
    他的listen 为80
    如果我有2个server 我怎么找到listen 为80的server  然后往里面写里面写location
    配置文件 内容 像下面
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;    keepalive_timeout  65;
        server {
            listen       80;
            server_name  localhost;        location / {
                root   html;
                index  index.html index.htm;
            }
            &
    location ~ ^/host1/ {
    rewrite ^/host1/(.*)$ /$1 break;
    proxy_pass http://127.0.0.1:8080;
    }


            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }    }
         server {
            listen       81;
            server_name  localhost;        location / {
                root   html;
                index  index.html index.htm;
            }
            &
    location ~ ^/host1/ {
    rewrite ^/host1/(.*)$ /$1 break;
    proxy_pass http://127.0.0.1:8080;
    }


            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }    }}
      

  8.   

    正在学习用
    我前几天也安装了 本来是想研究 通过nginx 访问我的程序 然后可以不需要端口号 但是无疾而终。
    赶快 研究 到时 交流 交流  
      

  9.   

    listen       80;
    读到这一样字符串判断下,比如String s = "listen       80;";
    if(s.contains("80")){
    //读下面几行,然后再写
    }
      

  10.   

    在读到某个我想要的位置时  能直接写入文件吗  而不是sb.append("");
    不然的话 像你上面说的  文件内容 应该有很多丢失吧
      

  11.   

    你看看 有没有其他方法  这个文件内容 也是有一定格式的  能不能 解析成上面  像json xml那样 弄起来 就比较方便
      

  12.   

    在读到某个我想要的位置时  能直接写入文件吗  而不是sb.append("");
    不然的话 像你上面说的  文件内容 应该有很多丢失吧不会丢失啊。原来的文件只是提供读的操作。你要新生成一个。然后新生产的覆盖原来的。