前情提要:昨天突然来一个项目要我跑起来然后配置到服务器能访问。。。
项目是JFinal和beetl的,我拿到手的时候有点蒙蔽。这是啥啊,咱也没玩过JFinal。项目的目录结构是这样的
这啥啊,ssm?sb?啥也不是甚至连maven都都没,自带jar包的,我当时想着,这也难不到我。行吧,我就先找个tomcat给他跑起来吧。谁曾想,我在idea的tomcat折腾半天硬是没有找到他那个文件是可以编译的。
就让我编译一个文件夹。。。无语,半天编译不了这个,tomcat起来是起来了,但是里面根本没有编译后的class文件,那这个项目怎么跑呢。折腾我好几个小时,我不得不祭出百度大法。问:JFinal怎么在tomcat启动。一百度!霍,我是sb,好家伙,JFinal有个启动类的。跟springboot一样有启动类。就是下图这玩意。给我整吐了
好了,既然能启动就好办了,然后我寻思给他打包到tomcat。maven都没有该怎么办呢
idea给我们提供了工具:war exploded
这样是打成编译后的文件了,文件位置在这,每个人的可能不一样。
将这些文件丢到Tomcat的webapps下命名为ROOT.启动服务,发现能起来。ok、接下来了上服务器
---------------------------------------nginx,tomcat,jdk---------------------------------------
使用yum下载这些东西就不用我说了吧。主要讲nginx配置。
#这里需要将nginx的启动用户随着你的启动用户一致,不然会出现403访问异常。nginx日志:failed(13:Permission denied)
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#这里是http普通域名的配置
server {
listen 80;
#域名映射,你还需在阿里云或其他云的域名解析中将域名绑定到该服务器ip
server_name dinner.xxmeexx.com;
autoindex on;
location / {
#将80的所有请求重定向到8080
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server{
#监听443端口
listen 443;
#对应的域名,把改成你们自己的域名就可以了
server_name dinner.xxmeexx.com;
ssl on;
#开启文件访问允许
autoindex on;
#获阿里云取到的第一个文件的全路径
ssl_certificate /etc/ssl/dcCerts/5029473_dinner.51meets.com.pem;
#从阿里云获取到的第二个文件的全路径
ssl_certificate_key /etc/ssl/dcCerts/5029473_dinner.51meets.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#这是我的主页访问地址没有什么其他的配置就同上面80一样转发到8080就行
location / {
#转发到8080
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#这个是小程序配置业务域名需要的文件
location /CGRHeHGwv0.txt {
#文件必须要alias映射
alias /data/CGRHeHGwv0.txt;
}
}
}
上面就是我nginx的配置了。
服务是在tomcat启动的,用的8080端口。nginx监听80端口将请求转发到8080。这样就能访问到我的服务了。
配置了域名没有配置443端口的ssl的话你还不能https访问,所以需要去申请https认证。会有两个文件。
将这两个文件配置好,然后设置/访问的转发。基本https就能用了。tomcat启动----nginx启动。
用netstat -ntpl 查看linux 开放的所有端口
这个项目就给了我一天时间让我启动加部署。我昨晚加班到9点多,属实坑。
不过也算是一次成功的部署经验了。
Roger