天天看點

網站部署到其他伺服器但無權修改,web項目部署到伺服器遇到的問題

web項目部署到Linux伺服器遇到的問題

(内含war包部署産生的問題)

部署項目為:旅遊網(可下載下傳源碼)

一 Linux部署環境問題

二 war包錯誤修改

Linux部署環境問題 整個Linux伺服器部署參照部落格 https://blog.csdn.net/qq_41635167/article/details/81096075

Linux 指令

systemctl start mysql.service#啟動mysql服務

vim /var/log/mysqld.log#檢視mysql日志

rpm -qal |grep mysql #查找是否安裝mysql

netstat -anp|grep 3305 #查找程序,搜尋端口為3305是否存在;可删除|及|後的指令,顯示所有程序

pgrep -l java #查找程序名為“java”的PID,java一般為tomcat程序

kill -9 9090 #強制删除程序pid為9090的程序

netstat -ntlp #檢視開啟的所有端口

vi /etc/sysconfig/iptables #編輯 防火牆 規則

systemctl start firewalld.service #啟動防火牆

systemctl enable firewalld.service #設定開機啟動

systemctl restart firewalld.service #重新開機防火牆

firewall-cmd --state #檢查是否打開

// 看sshd服務狀态

service sshd status

// 如果沒有啟動就啟動sshd服務

servcie sshd start

檢視 linux 下tomcat實時日志資訊 及 tomcat控制台輸出

進入你tomcat的安裝目錄下的logs,

如 我安裝目錄是

/opt/DATA/tomcat8.5.55/apache-tomcat-8.5.55,

則進入

/opt/DATA/tomcat8.5.55/apache-tomcat-8.5.55/logs

指令為 :

(下面的JAVA_HOME需要修改為自己的tomcat安裝目錄)

cd /opt/DATA/tomcat8.5.55/apache-tomcat-8.5.55/logs

在該目錄下,輸入檢視指令:

//在logs目錄下,輸入指令

tail -f catalina.out

然後重開一個遠端視窗進行其他操作,重新整理浏覽器,就可以在原來的視窗看到tomcat日志了,會列印控制台,實時變化的哦~ ctrl+c可以退出日志

通路權限不足,無法寫入

linux安裝的JDK,Tomcat等東西最好放在目錄 opt檔案夾 或者 usr檔案夾下,

其他檔案夾非root使用者可能會出現通路權限不足,無法寫入或無法通路等問題,比較麻煩

tomcat無法通路:

tomcat 的 安裝目錄的 bin目錄下的 catalina.sh檔案使用

vi ./catalina.sh

指令進行編輯(進入後按鍵盤“insert”編輯,退出是先按 Esc 在輸入:wq)

加入以下指令,在開頭注釋結束部分

(下面的JAVA_HOME需要修改為自己的JDK安裝目錄)

JAVA_HOME=/opt/DATA/jdk1.8.0_161

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

網頁驗證碼無法加載出來

錯誤:java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11Graphi

(原因:對于一個Java伺服器來說經常要處理一些圖形元素,例如地圖的建立或者圖形和圖表等。這些API基本上總是需要運作一個X-server以便能使用AWT(Abstract Window Toolkit,抽象視窗工具集)。)

tomcat 的 安裝目錄的 bin目錄下的 catalina.sh檔案使用

vi ./catalina.sh

指令進行編輯(進入後按鍵盤“insert”編輯,退出是先按 Esc 再輸入:wq)

加入指令

JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"

寶塔頁面tomcat,mysql無法關閉

寶塔 軟體管理界面,解除安裝

Linux防火牆端口限制解除

xshell中 輸入指令:(直接對檔案進行編輯,進入後按鍵盤上的 insert 進入編輯模式,修改完成後按Esc ,再輸入 :wq 儲存并退出(冒号不能忘掉))

vi /etc/sysconfig/iptables

這是我的檔案内容,添加端口可直接在檔案裡追加

A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -ACCEPT

将這條的 443 改為所要添加的端口号

下面為檔案内容:

*filter

:INPUT ACCEPT [0:0]

: FORNARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

A INPUT -m state --state REL ATED, ESTABLISHED j ACCEPT

A INPUT P icmp -

ACCEPT

A INPUT -1 lo -j ACCEPT

A INPUT -m state --state NEW -m tcp P tcp

dport 21 j

ACCEPT

A INPUT -p tcp -m state --state NEW -m tcp --dport 22

ACCEPT

A INPUT -m state --state NEW -m tcp -p tcp --dport 80

ACCEPT

A INPUT -m state --state NEW -m tcp -p tcp --dport 88-ACCEPT

A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -ACCEPT

A INPUT -m state --state NEW -m tcp -p tcp --dport 888 -ACCEPT

A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -ACCEP

A INPUT -m state --state NEW -m tcp -p tcp --dport 3389 -ACCEPTT

A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -ACCEPT

A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -ACCEPT

A INPUT -m state --state NEW -m tcp -p tcp --dport 177 -ACCEPT

A INPUT -m state --state NEW -m tcp -P tcp --dport 8888 ACCEPT

A INPUT j REJECT -- reject -with icmp -host p rohibited

A FORWARD j REJECT - reject -with icmp -host p rohibited

然後

systemctl restart firewalld.service

進行重新開機防火牆

ps : 如果防火牆報錯可用

firewall-cmd --state #檢視是否打開防火牆

檢視防火牆是否打開,如果未打開,使用

systemctl start firewalld.service #啟動防火牆

war包錯誤修改

讀取不到properties檔案(原來在本機運作的項目是使用的本機絕對路徑:G/workspace/xx.properties),修改為如圖所示

網站部署到其他伺服器但無權修改,web項目部署到伺服器遇到的問題

//相對路徑加載properties檔案方法

Properties props = new Properties();

String PATH="druid.properties";

InputStream in = PropertyTest.class.getClassLoader().getResourceAsStream(PATH);

props.load(in);

resources/druid.propeties問題報錯(資料庫問題)

propeties檔案内部存儲的是資料庫賬戶密碼,drive,url;都得根據自己的情況進行相應修改

driverClassName=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/travel

username=root

password=password

當資料庫和部署的項目至同一個伺服器時,上邊的url中的localhost可以不變,否則改為伺服器ip位址;

端口改為mysql端口;

賬戶密碼改為自己的賬戶密碼。

Table ‘travel.tab_seller’ doesn’t exist

重新建立表

mysql錯誤:ERROR 1045 (28000): Access denied for user ‘root’@'localhost

mysqladmin -u root password admin #shell中修改密碼為admin

mysql要是怎麼都登不進去,重裝吧,或者試試其他密碼,或許你可能之前設定了其他密碼,别問我是怎麼知道的~

修改mysql密碼

-

格式:mysqladmin -u使用者名 -p舊密碼 password 新密碼

例子:mysqladmin -uroot -p123456 password 123

-

格式:mysql> set password for 使用者名@localhost = password('新密碼');

例子:mysql> set password for [email protected] = password('123');

-

mysql> use mysql;

mysql> update user set password=password('123') where user='root' and host='localhost';

mysql> flush privileges;

- 徹底忘記密碼

1.vi /etc/my.cnf

2. 在[mysqld]下面添加一條指令:skip-grant-tables

3. :wq

4.1 進入MySql控制台(直接按回車,這時不需要輸入root密碼。)

mysql -uroot -p

4.2 切換到mysql資料庫

mysql>use mysql;

4.3 修改mysql資料庫中root的密碼

mysql> update user set password=password(“填入新密碼”) where user=‘root’;

4.4 重新整理mysql權限

mysql> flush privileges;

4.5 退出

mysql> exit;

5.再次vi /etc/my.cnf。把skip-grant-tables删除掉,儲存退出:wq

(自項目— 旅遊網 錯誤,非本項目無需理會)郵件發送錯誤

除非你不使用 注冊 功能,否則

修改 cn.itcast.travel.util.MailUtil的String USER 和 PASSWORD修改為自己的

網站部署到其他伺服器但無權修改,web項目部署到伺服器遇到的問題

(自項目— 旅遊網 錯誤,非本項目無需理會)資料庫錯誤 或 resources/druid.propeties問題報錯(資料庫問題)

propeties檔案内部存儲的是資料庫賬戶密碼,drive,url;都得根據自己的情況進行相應修改

driverClassName=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/travel

username=root

password=password

網站部署到其他伺服器但無權修改,web項目部署到伺服器遇到的問題

賬戶密碼改為自己的賬戶密碼。