linux环境下项目启动却访问不,在Linux环境下部署项目遇到的一些问题
1.兩臺服務器,想把一臺服務器的資源文件夾掛載到另一臺服務器對應的目錄中:
需求:主服務器中有一個資源文件夾,專門管理系統(tǒng)中的圖片,文件等資源,而從服務器中也有對應目錄,想掛載到主服務器中。比如:
將從192.168.10.10服務器下的 /home/要映射的目錄/ ,映射為主192.168.10.90服務器下的 /home/被映射的目錄/
(簡單說,從服務器需要用到主服務器下的資源文件夾,也就是把從服務器掛載到主服務器上,這樣從服務器上傳的文件也到了主服務器中,達到共享文件夾過程)
1、分別在192.168.10.10、192.168.10.90服務器上安裝 nfs、rpcbind;
yum install nfs-utils rpcbind (出現(xiàn)提示y/n之類的提示,輸入y就可以了)
2、在主192.168.10.90(被映射的服務器)上修改/etc/exports文件最后面添加一行代碼,暴露目錄給從192.168.10.10服務器,并分配該目錄的權限給它;
/home/被映射的目錄 192.168.10.10 (rw,async,no_root_squash)
3、兩臺服務器都啟動nfs和rpcbind服務:
service rpcbind start
service nfs start
4、在從192.168.10.10服務器上的防火墻配置文件上添加開放下面三個端口(執(zhí)行命令:vi /etc/sysconfig/iptables);
-A INPUT -p tcp -m state --state NEW -m tcp --dport 4046 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
5、在從192.168.10.10上啟動rpcbind和nfs服務,并掛載;
mount -t nfs 192.168.10.90:/home/被映射的目錄 /home/要映射的目錄
在進行mount命令執(zhí)行,時報錯access denied by server while mounting。我解決的方式是在第2步驟中加了insecure.即修改配置文件/etc/exports,加入 insecure 選項,重啟nfs服務,再嘗試掛載。(*表示所有ip,如果這里有加其它ip,記得一定要重啟nfs服務啊)
/home/nfsshare/ *(insecure,rw,async,no_root_squash)
6、掛載是否成功,可以使用nf命令查看;執(zhí)行命令:df -h
2.Linux給當前用戶指定目錄授權命令:
使用命令:
1 chown -R user:user ./local
說明:user 為當前用戶;local為指定文件夾。
3.Linux防火墻:
首先確認下當前Linux的版本。因為不同版本查看防火墻的命令不同,下面使用的命令是Red Hat的命令:
防火墻操作
執(zhí)行命令:systemctl stop(status|start) iptables(或者firewalld)
問題:
虛擬機上安裝centOS7,配置Tomcat并成功啟動。但是在瀏覽器里卻無法訪問Tomcat 8080端口。
tomcat的配置,請參考文章:Linux-CentOS7 配置 Tomcat
原因:
因為CentOS 7或RHEL 7或Fedora,默認防火墻是由firewalld來管理,而firewalld沒有對8080端口開放,所以進行8080端口開放配置。
CentOs 7 之前的版本,由iptables控制Linuxs的端口。
CentOS升級到7之后,無法使用iptables控制Linuxs的端口,因為是Centos 7使用firewalld代 替了原來的iptables。
以下提供兩種方式解決該問題。
解決方案一,還原傳統(tǒng)的iptables管理方式。
1、執(zhí)行命令設置firewalld
systemctl stop firewalld
systemctl mask firewalld
2、安裝iptables-services
執(zhí)行命令:yum install iptables-services
如果不安裝,直接執(zhí)行iptables相關命令會報錯:
Failed to stop iptables.service: Unit iptables.service not loaded.
3、關閉防火墻
執(zhí)行命令:systemctl stop iptables
4、編輯 vi /etc/sysconfig/iptables(第四不我沒有執(zhí)行,問題就解決了)
添加以下內容并保存退出:
#允許8080端口通過防火墻
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
#允許3306端口通過防火墻
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
#允許9904端口通過防火墻
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9904 -j ACCEPT
5、重啟防火墻
執(zhí)行命令:systemctl restart iptables
6、打開外部瀏覽器,輸入http://centOS IP:8080
即可看到Tomcat歡迎界面!
解決方案二,firewalld 進行8080端口開放配置
1、在firewalld 上開放8080端口
輸入命令:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
命令解析:
–zone #作用域
–add-port=8080/tcp #添加端口,格式為:端口/通訊協(xié)議
–permanent #永久生效,沒有此參數(shù)設置,重啟后會失效。
2、重啟防火墻
輸入命令:firewall-cmd --reload
對于Centos6版本,使用下面命令,【Linux(CentOS6.5) 開放端口,配置防火墻】
打開配置文件
[root@localhost ~]# vi /etc/sysconfig/iptables
正確的配置文件
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT
-A INPUT -m state –state NEW -m tcp -p tcp –dport * -j ACCEPT
注意點:新開放的端口一定要在端口22后面
重啟防火墻使配置生效
[root@localhost ~]# /etc/init.d/iptables restart
其它?:
查看開放端口
[root@localhost ~]# /etc/init.d/iptables status
關閉防火墻
[root@localhost ~]# /etc/init.d/iptables stop
總結
以上是生活随笔為你收集整理的linux环境下项目启动却访问不,在Linux环境下部署项目遇到的一些问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机丢失i4m.dll,ntd.dll
- 下一篇: jira软件 linux 安装,JIRA