我的配置:
阿里云CentOS7服务器:CentOS Linux release 7.3.1611 (Core)
JDK:jdk-8u201-linux-x64.tar.gz
Tomcat:apache-tomcat-8.5.37.tar.gz
mysql:5.7
下载链接:JDK: https://www.oracle.com/technetwork/cn/java/javase/downloads
Tomcat:https://mirrors.aliyun.com/apache/tomcat/tomcat-8/?spm=a2c4g.11186623.2.13.35553110L2NUdk
压缩包安装JDK:
/usr 下新建 java 目录存放JDK ,并解压
tar -zxvf jdk-8u201-linux-x64.tar.gz
配置环境变量,打开文件profile并添加内容
vi /etc/profile
# set java environment
export JAVA_HOME=/usr/java/jdk1.8.0_201
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
加载环境变量
source /etc/profile
测试输入 java -version ,显示安装完毕
压缩包安装Tomcat
/usr 下新建 tomcat 目录存放apache ,解压压缩包
tar -zxvf apache-tomcat-8.5.37.tar.gz //解压
验证,请开放服务器端口8080和其他需要的端口
/usr/tomcat/apache-tomcat-8.5.37/bin/startup.sh //启动tomcat
curl http://localhost:8080 //访问
若加载出html代码证明安装成功
如果上述报错:
curl http://localhost:8080 (7) Failed to connect to ::1: No route to host
解决方法:先关闭防火墙。然后重启。稍等片刻,即可。
systemctl status firewalld # 查看状态
systemctl stop firewalld # 关闭
systemctl disable firewalld # 启动关闭(一直关闭)
也可以通过 ip+端口访问,如
如若无法访问,服务器端口也开启的情况下,端口占用
查看日志文件 进入tomcat的logs目录
ls -l
cat catalina.2019-03-20.log
错误:
SEVERE [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhost:8005]:
java.net.BindException: Address already in use (Bind failed)
指的是端口8005被占用了
查看端口
netstat -lnp | grep 8005
查看进程详细信息
ps 1226
杀死这个进程
kill -9 3226
即可
在线安装配置mysql
1.安装mysq的repo源
wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
rpm -ivh mysql57-community-release-el7-7.noarch.rpm
2.安装mysql
yum install mysql-server
yum install mysql-devel
3.安装完成之后重新检查一下安装了的mysql软件。
rpm -qa|grep -i mysql
4.mysql是没有密码的所以无法登录,当输入mysql -u root错误提示:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO) 登录root帐号需要密码,不过我们没有。于是设置无须密码进行登录。
- 在/etc/my.cnf文件中[mysqld] 下面添加skip-grant-tables。
- 重启mysql,service mysqld restart
- 登录mysql,mysql -u root
- 修改密码:mysql>use mysql;
mysql>update mysql.user set authentication_string=password('123456') where user='root';
mysql>flush privileges;
mysql>exit; - 恢复/etc/my.cnf,将skip-grant-tables删除或者注释掉。
- 重启mysql,service mysqld restart
5.mysql -u root -p 登录后,需再次设置密码(因为提示安全性低),否则无法执行SQL命令。
去除密码规则
set global validate_password_policy=0;
set global validate_password_length=4;
flush privileges;
修改密码
mysql> SET PASSWORD = PASSWORD('新密码');
6.设置mysql的编码
status命令查看当前的编码
修改mysql配置文件
在/etc/my.cnf文件[mysqld]段增加下面的代码
character-set-server=utf8
collation-server=utf8_general_ci
7.navicat远程连接。
直接远程会报错:错误1130- Host xxx is not allowed to connect to this MariaDb server
因为MySQL默认只支持本地的连接,所以我们需要修改对外连接权限,方式如下:
(1)授权法
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
// %:表示从任何主机连接到mysql服务器
FLUSH PRIVILEGES;
或者
GRANT ALL PRIVILEGES ON *.* TO 'user'@'***.**.**.***' IDENTIFIED BY 'password' WITH GRANT OPTION;
//表示从指定ip从任何主机连接到mysql服务器
FLUSH PRIVILEGES;
(2)改表法
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root' and host='localhost';
mysql>select host, user from user;
mysql>FLUSH RIVILEGES #使修改生效
javaweb项目部署
他日再写!