野火IM后端应用


野火IM后端应用

本工程为Demo工程,实际使用时需要把对应功能移植到您的应用服务中

编译

mvn package

短信资源

应用使用的是腾讯云短信功能,需要申请到appid/appkey/templateId这三个参数,并配置到tencent_sms.properties中去。用户也可以自行更换为自己喜欢的短信提供商。在没有短信供应商的情况下,为了测试可以使用superCode,设置好后,客户端可以直接使用superCode进行登陆。上线时一定要注意删掉superCode

修改配置

本演示服务有4个配置文件在工程的config目录下,分别是application.propertiesim.propertiesaliyun_sms.propertiestencent_sms.properties。请正确配置放到jar包所在的目录下的config目录下。

application.properties配置中的sms.verdor决定是使用那个短信服务商,1为腾讯短信,2为阿里云短信

运行

target目录找到app-XXXX.jar,把jar包和放置配置文件的config目录放到一起,然后执行下面命令:

java -jar app-XXXXX.jar

 

# 配置应用服务器地址
  upstream appserver {
  server 127.0.0.1:8888;
  }
   
  # 配置im服务地址
  upstream imserver_cluster {
  server 192.168.2.5;
  server 192.168.2.11;
  server 192.168.2.15;
  }
   
  server {
  listen 80;
  listen 443;
   
  # 配置本配置生效的host,这个host是访问web页面的host
  server_name web.wildfirechat.cn;
   
  # 地址指向存放打包后的dist/src目录
  root /home/ubuntu/wildfirechat_web/src;
   
  # https相关配置,如果不启用https,可以配置
  ssl_certificate /etc/nginx/cert/web.pem;
  ssl_certificate_key /etc/nginx/cert/web.key;
   
  location /pc_session{
  if ($request_method = 'OPTIONS') {
  add_header 'Access-Control-Allow-Origin' '*';
   
  add_header 'Access-Control-Allow-Credentials' 'true';
  add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
   
  add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
   
  add_header 'Access-Control-Max-Age' 86400;
  add_header 'Content-Type' 'text/plain charset=UTF-8';
  add_header 'Content-Length' 0;
  return 204; break;
  }
   
  if ($request_method = 'POST') {
  add_header 'Access-Control-Allow-Origin' '*';
  add_header 'Access-Control-Allow-Credentials' 'true';
  add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
  add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
  }
  if ($request_method = 'GET') {
  add_header 'Access-Control-Allow-Origin' '*';
  add_header 'Access-Control-Allow-Credentials' 'true';
  add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
  add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
  }
  proxy_pass http://appserver;
  }
  location /route{
  if ($request_method = 'OPTIONS') {
  add_header 'Access-Control-Allow-Origin' '*';
   
  add_header 'Access-Control-Allow-Credentials' 'true';
  add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
   
  add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
   
  add_header 'Access-Control-Max-Age' 86400;
  add_header 'Content-Type' 'text/plain charset=UTF-8';
  add_header 'Content-Length' 0;
  return 204; break;
  }
   
  if ($request_method = 'POST') {
  add_header 'Access-Control-Allow-Origin' '*';
  add_header 'Access-Control-Allow-Credentials' 'true';
  add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
  add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
  }
  if ($request_method = 'GET') {
  add_header 'Access-Control-Allow-Origin' '*';
  add_header 'Access-Control-Allow-Credentials' 'true';
  add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
  add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
  }
  proxy_set_header Host $host;
  proxy_set_header X-real-ip $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_pass http://imserver_cluster;
  }
  location /session{
  proxy_pass http://appserver;
  }
  location /session_login{
   
  if ($request_method = 'OPTIONS') {
  add_header 'Access-Control-Allow-Origin' '*';
   
  add_header 'Access-Control-Allow-Credentials' 'true';
  add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
   
  add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
   
  add_header 'Access-Control-Max-Age' 86400;
  add_header 'Content-Type' 'text/plain charset=UTF-8';
  add_header 'Content-Length' 0;
  return 204; break;
  }
   
  if ($request_method = 'POST') {
  add_header 'Access-Control-Allow-Origin' '*';
  add_header 'Access-Control-Allow-Credentials' 'true';
  add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
  add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
  }
  if ($request_method = 'GET') {
  add_header 'Access-Control-Allow-Origin' '*';
  add_header 'Access-Control-Allow-Credentials' 'true';
  add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
  add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
  }
  proxy_pass http://appserver;
  }
  location / {
  index index.html;
  }
  }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM