【工作记录】
最近因为工作需要,在部署一个测试服务器。需要在linux系统上配置一些必要的环境,由于对linux不是很熟悉,其中配置nginx,tomcat,mysql时遇到一些问题:
1.nginx部署后,可以访问它默认的主页,但是不能转发请求到tomcat中的项目,报502错误。
2.tomcat的8080端口不能访问,只能在本地服务器访问。
3.mysql服务不能再其他的机器上通过客户端访问。
4.项目在虚拟机上运行,访问虚拟机的本地mysql数据库,不能用localhost:3306..
问题1的原因和 解决方案:
1.原因:
linux系统缺少pcre或者有pcre但是识别不了。
2.解决方案
没有的话,先安装一个pcre。有的话,在安装nginx的时候自己指定pcre的位置:通过./configure --with pcre=path 来指定pcre。(path为pcre的地址)
ps:最好以解压压缩包的方式安装nginx (./config>make>make install),不要用yum指令安装,因为用./config可以检查安装所需条件是否已经满足。而yum就直接下载安装了。
问题2 的 原因和解决方案
1.原因:
这是因为linux的安全策略导致,我们需要自己开放端口才能在其它机器上访问。
2.解决方案:
自己开放8080端口:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
让修改生效:
firewall-cmd --reload
问题3 的原因和解决方案
1.原因:
同样是端口问题,需要开放3306端口。
2.解决方案:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
问题4 的原因和解决方案
1.原因:
在虚拟机使用localhost指定是本机器,并不是虚拟机本身。
2解决方案
写虚拟机的ip地址