之前是在公司的服务器上发布项目,由于之前都有。所以没用遇到什么问题。
自己通过搭建环境,并第一次配置Nginx发布项目的时候,遇到了一些问题。记录下来了。
1.搭建环境
在搭建环境的过程中,首先Nginx的搭建过程首先按照网上的教程,结果很多教程都搭建失败了。倒腾了大半天,最后成功了。(Nginx的搭建过程)
接下来是jdk环境的搭建,以及数据库和redis的搭建。这些基本环境搭建都成功后。
环境搭建好后,就是上传jar包,创建文件夹。可以参照上一篇:Linux下发布java项目(jar包)
2.接下来就是配置Nginx了
首先只是复制了个service,其他的都没变
然后进行访问,出现了如下图所示:
3.这个问题要解决。
开始以为是Nginx没用安装好,通过IP直接访问,发现是可以访问的。
捣鼓了大半天,也没能解决问题。
重启查看Nginx,发现也是正常。
网上百度了下解决方法,当时这样操作报已经被占用,于是杀掉了Nginx,再执行如下命令。进行访问,依旧没能解决
4.实在没有办法了。
通过Nginx的log查看,并解决对应的问题。
2019/12/06 15:45:35 [notice] 20569#0: signal process started
2019/12/06 15:45:35 [emerg] 20382#0: "location" directive is not allowed here in /usr/local/nginx/nginx/conf/nginx.conf:71
2019/12/06 15:46:38 [notice] 20570#0: signal process started
2019/12/06 15:46:38 [emerg] 20382#0: "location" directive is not allowed here in /usr/local/nginx/nginx/conf/nginx.conf:70
2019/12/06 15:48:26 [notice] 20572#0: signal process started
2019/12/06 15:48:26 [emerg] 20382#0: unknown log format "main" in /usr/local/nginx/nginx/conf/nginx.conf:40
2019/12/06 15:57:46 [notice] 20596#0: signal process started
2019/12/06 15:57:46 [emerg] 20382#0: unknown log format "main" in /usr/local/nginx/nginx/conf/nginx.conf:40
2019/12/06 16:07:06 [notice] 20645#0: signal process started
2019/12/06 16:07:06 [emerg] 20382#0: unknown log format "main" in /usr/local/nginx/nginx/conf/nginx.conf:40
网上百度了这个解决方案,于是去自己的Nginx的配置文件里面把这个main放开了。
重启之后,又进行访问,还是不可以访问。于是继续看日志:
2019/12/06 15:46:38 [notice] 20570#0: signal process started
2019/12/06 15:46:38 [emerg] 20382#0: "location" directive is not allowed here in /usr/local/nginx/nginx/conf/nginx.conf:70
2019/12/06 15:48:26 [notice] 20572#0: signal process started
2019/12/06 15:48:26 [emerg] 20382#0: unknown log format "main" in /usr/local/nginx/nginx/conf/nginx.conf:40
2019/12/06 15:57:46 [notice] 20596#0: signal process started
2019/12/06 15:57:46 [emerg] 20382#0: unknown log format "main" in /usr/local/nginx/nginx/conf/nginx.conf:40
2019/12/06 16:07:06 [notice] 20645#0: signal process started
2019/12/06 16:07:06 [emerg] 20382#0: unknown log format "main" in /usr/local/nginx/nginx/conf/nginx.conf:40
2019/12/06 16:12:08 [notice] 20674#0: signal process started
2019/12/06 16:12:08 [emerg] 20382#0: "location" directive is not allowed here in /usr/local/nginx/nginx/conf/nginx.conf:66
于是,进入Nginx里面,将一个不懂的local给删除。然后重启Nginx,并进行访问,访问成功了。