网站部署到其他服务器但无权修改,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),修改为如图所示

5715af651d4cb99c44dcfdfc89188f1c.png

//相对路径加载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 root@localhost = 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修改为自己的6656b5599823acbeed89f72f299af1ce.png

(自项目— 旅游网 错误,非本项目无需理会)数据库错误 或 resources/druid.propeties问题报错(数据库问题)

propeties文件内部存储的是数据库账户密码,drive,url;都得根据自己的情况进行相应修改

driverClassName=com.mysql.jdbc.Driver

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

username=root

password=password

9929e60c0d6feb4e4be9feb9f2f32bb2.png

账户密码改为自己的账户密码。