nginx与tomcat通信使用的端口号为
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx与tomcat通信使用的端口号为相关的知识,希望对你有一定的参考价值。
1.首先将tomcat改为8080端口(具体细节不再阐述,可自行百度)2.在nginx的安装目录下 (我的目录是 /usr/local/nginx )创建一个新的文件夹 vhosts,然后在vhosts文件夹下创建一个tomcats.conf文件
tomcats.conf文件内容如下:
server
listen 80;
server_name xx.xx.xx.xx;(想要设置的访问地址)
#charset koi8-r;
#access_log logs/host.access.log main;
location /
proxy_pass http://xx.xx.xxx.xxx:8080;(现在想要设置的路径的访问地址)
root html;
index index.html index.htm;
error_page 500 502 503 504 /50x.html;
location = /50x.html
root html;
3.打开nginx安装目录下的conf下的nginx.conf文件
4.在文件底部加上
include /usr/local/nginx/vhosts/*; (包含所有虚拟机主机文件,加在最后那个大括号前面)
1
5.然后在文件中间找到
location /
proxy_pass http://xx.xx.xxx.xxx:8080; (加上这个,指定自己本机的tomcat的地址)
root html;
index index.html index.htm;
1
2
3
4
5
重启tomcat,nginx
另外补上一点,其实nginx一般是不用重启的,它可以通过与-s参数调用可执行来控制
nginx -s signal
1
其中,信号可以是下列之一:
stop — fast shutdown
quit — graceful shutdown
reload — reloading the configuration file
reopen — reopening the log files
1
2
3
4
在配置文件中所作的更改不会被应用,直到命令重新配置被发送到nginx的或重新启动。要重新加载配置,执行:
nginx -s reload
1
如果非要重新启动或停止,可采用下面的方法
从容停止
1、查看进程号
ps -ef|grep nginx
1
2、杀死进程,注意一共有三个进程,一定要杀死后面带master的进程id
kill -QUIT xxxx
1
快速停止
1、查看进程号
ps -ef|grep nginx
1
2、杀死进程
kill -TERM 2132
1
或
kill -INT 2132
1
强制停止
pkill -9 nginx
1
在操作过程中遇到一个坑:
配置nginx 反向代理的时候出现了
nginx: [emerg] invalid URL prefix in /usr/local/nginx/conf/nginx.conf 参考技术A 1.首先将tomcat改为8080端口(具体细节不再阐述,可自行百度)
2.在nginx的安装目录下 (我的目录是 /usr/local/nginx )创建一个新的文件夹 vhosts,然后在vhosts文件夹下创建一个tomcats.conf文件
tomcats.conf文件内容如下:
server
listen 80;
server_name xx.xx.xx.xx;(想要设置的访问地址)
#charset koi8-r;
#access_log logs/host.access.log main;
location /
proxy_pass http://xx.xx.xxx.xxx:8080;(现在想要设置的路径的访问地址)
网络通信与TCP
网络通信与TCP
一、计算机之间如何精确的连接?
-
ip地址
计算机通过ip地址找到对方的计算机,每台计算机的ip地址都是独一无二的
-
端口号
-
端口号是一个逻辑端口,我们无法直接看到,可以使用一些软件查看端口号
-
当我们使用网络软件一打开,那么操作系统就会为网络软件分配一个随机的端口号,或者网络软件在打开的时候和系统要指定的端口号
-
端口号由两个字节组成,取值范围在0-65535之间
-
1024之前的端口号我们不能使用,已经被系统分配给已知的网络软件了
-
网络软件的端口号不能重复使用
-
常用的端口号:
网络端口:80端口
数据库mysql:3306
oracle:1521
Tomcat服务器:8080
-
二、TCP通信概述
-
TCP通信能实现两台计算机之间的数据交互,通信的两端要严格区分为客户端(Client)和服务端(Server)
-
两端通信的步骤:
- 服务器程序启动,等待客户端连接
- 客户端主动连接服务器端,建立一个逻辑连接
注意:
- 这个连接包含一个IO对象,客户端和服务端使用IO对象进行通信
- 通信的数据不仅仅是字符,所以IO对象是字节流对象
- 客户端和服务端进行一个数据交互需要4个IO流对象
-
在Java中提供了两个类用于实现TCP通信程序:
- 客户端:
java.net.Socket
类表示创建Socket对象,向服务端发出连接请求,服务端响应请求,两者建立连接开始通信 - 服务端:
java.net.ServerSocket
类表示创建ServerSocket对象,相当于开启一个服务器,并等待客户的连接
- 客户端:
三、Socket类
- 该类实现客户端套接字,套接字指的是两台设备之间通信的端点
- 构造器:
- Socket类的方法:
- 创建一个Socket对象:
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class TCPClient {
public static void main(String[] args) throws IOException {
//1.创建一个客户端对象Socket,构造方法绑定服务器IP地址和端口号
Socket socket = new Socket("10.159.55.7", 8888);
//2.使用Socket对象中的方法getOutputStream()获取网络字节输出流OutputStream对象
OutputStream os = socket.getOutputStream();
//3.使用网络字节输出流OutputStream对象中的方法write向服务器发送数据
os.write("你好服务器".getBytes());
//4.使用Socket对象中的方法getInputStream()获取网络字节输入流InputStream对象
InputStream is = socket.getInputStream();
//5.使用网络字节输入流InputStream对象中的方法read读取服务器回写的数据
byte[] bytes = new byte[1024];
int len = is.read(bytes);
System.out.println(new String(bytes, 0, len));
//6.释放资源
socket.close();
}
}
四、ServerSocket类
-
服务器必须明确一件事,必须知道是哪个客户端请求的服务器,所以可以使用accept方法获取到请求的客户端对象Socket。成员方法:
Socket accept()
侦听并接受到此套接字的连接 -
构造方法:
- ServerSocket类的方法:
- 创建一个ServerSocket对象:
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer {
public static void main(String[] args) throws IOException {
//1.创建服务器ServerSocket对象和系统要指定的端口号
ServerSocket server=new ServerSocket(8888);
//2.使用ServerSocket对象中的方法accept获取到请求的客户端对象Socket
Socket socket=server.accept();
//3.使用Socket对象中的方法getInputStream()获取网络字节输入流InputStream对象
InputStream is=socket.getInputStream();
//4.使用网络字节输入流InputStream对象中的方法read读取客户端发送的数据
byte[] bytes=new byte[1024];
int len=is.read(bytes);
System.out.println(new String(bytes,0,len));
//5.使用Socket对象中的方法getOutputStream()获取网络字节输出流OutputStream对象
OutputStream os=socket.getOutputStream();
//6.使用网络字节输出流OutputStream对象中的write方法给客户端回写数据
os.write("收到".getBytes());
//7.释放资源
socket.close();
server.close();
}
}
运行:
【注意】:先运行服务器端程序,再运行客户端程序
以上是关于nginx与tomcat通信使用的端口号为的主要内容,如果未能解决你的问题,请参考以下文章