新建虚拟机+LINUX虚拟机中部署java项目

创建虚拟机:

  • 新建虚拟机教程文档:https://blog.csdn.net/qq_34272964/article/details/79393613
  • 安装图形界面软件包:https://blog.csdn.net/qq_39521554/article/details/79718886
  • 安装图形界面后重启操作:https://www.linuxidc.com/linux/2018-04/152001.htm
  • Centos7虚拟机忘记密码:https://blog.csdn.net/niu_hao/article/details/52882895
  • 克隆一时爽,bug找一生:克隆机mac地址,mysql的server-uuid修改,

使用操作虚拟机:

1)下载Xshell,方便连接linux服务器,具体连接的方法:传送门

2)下载xftp,方便上传下载项目相关文件,操作简单可以从xshell进入

3)安装jdk

  • 先下载linux对应位数的jdk,我下的是 jdk-8u11-linux-x64.tar.gz  下载传送门
  • 可以使用ftp上传到linux指定位置,我放在/usr/lib/java/下(新建java目录),然后tar命令解压
  • 然后就是配置环境变量,位置:/etc/profile,编辑profile文件,在前面加入 
export JAVA_HOME=/usr/lib/java/jdk1.8.0_131  #你安装的jdk路径
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export  PATH=${JAVA_HOME}/bin:$PATH

     注意:如果是用ftp本地改,不要改变行列格式,命令改没问题,血与泪的教训

    最后一定要:source /etc/profile   如果profile格式不对会报错(如果在.bashrc中未配置的话,每次启动服务器都要执行这句话)

  •   javac -version 查看是否安装成功,可能会遇到
bash:/usr/lib/java/jdk1.8.0_11/bin/javac:Permission denied

    权限问题:chmod 777 javac  命令可解决  

4)mysql安装

可能遇到的问题解决:https://www.aliyun.com/jiaocheng/1106711.html 

 可能遇到的问题:https://www.aliyun.com/jiaocheng/1106711.html

  • 下载对应的mysql,下载地址是:地址
  • 参考文档:https://www.cnblogs.com/xinjing-jingxin/p/8025805.html
  • wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz
  • 用ftp放到/usr/local/下,后使用 tar -xvzf mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz  命令解压,mv  mysql-5.6.38-linux-glibc2.12-i686/ mysql 重名名为mysql
  • 进入/usr/local/mysql,添加系统mysql组和mysql用户,执行命令:groupadd mysql和useradd -r -g mysql mysql
  • 修改目录权限 命令:chown -R mysql:mysql  ./  
  • 初始化数据库 命令:./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  • 可能遇到的问题:https://www.aliyun.com/jiaocheng/1106711.html
  • 修改权限为root,命令:
  • chown -R root:root .
  • chown -R mysql:mysql data
  • 添加启动服务:cp support-files/mysql.server /etc/init.d/mysql ,就可以使用启动了:service mysql start
  • 可能启动失败(报错:mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. )可以将mysql中的my.cnf配置文件覆盖etc下的my.cnf文件
  • 设置一下用户root密码:./bin/mysqladmin -u root password '123456'
  • 出错记得看错误日志(日志路径在etc/my.cnf中)解决,覆盖etc/my.cnf为我的mysql的默认my.cnf
  • 记录操作流程如图:新建虚拟机+LINUX虚拟机中部署java项目_第1张图片

本地命令登录可能遇到:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

解决方案:修改mysql下的user表数据:https://www.cnblogs.com/summertime-wu/p/7466160.html

可能远程连接会遇到:mysql远程连接 Host * is not allowed to connect to this MySQL server

解决方案:

[root@localhost mysql]# /usr/local/mysql/bin/mysql -uroot -p      
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.1.73 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql;
mysql> update user set host='%' where user='root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

遇到:ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'   不必理会

然后就可以远程了

 

5)tomcat部署

将项目tomcat放到指定文件夹

进入bin文件夹内启动命令 ./startup.sh

注意端口冲突问题会导致启动项目失败, 命令netstat -tln 查看端口占用情况 。

新建虚拟机+LINUX虚拟机中部署java项目_第2张图片

命令:ps -ef 查看系统进程,如有冲突可用命令:kill -9 1230  如:杀死进程 1230

如果是虚拟机中启的服务,想在本机访问:访问虚拟机中web服务的方法  参考这篇博客解决。

6)redis安装

文档:https://www.cnblogs.com/jerrylz/p/5650213.html

参考2:https://blog.csdn.net/shayu_xiaoyu/article/details/79203774

可能遇到的问题:https://www.cnblogs.com/winner-0715/p/6685044.html

关闭防火墙遇到的问题:https://www.cnblogs.com/blueskyli/p/7218570.html

记得:

1.redis.conf文件编辑

配置密码:修改# requirepass foobared为:requirepass 123456

配置后台启动:daemonize no为daemonize yes

2.命令登录redis

./redis-cli -h 127.0.0.1 -p 6379 -a "123456"

3.退出后台启动

./redis-cli -h 127.0.0.1 -p 6379 -a "123456" shutdown

你可能感兴趣的:(tomcat,学习,linux)