linux 配置教程[web-jdk-tomcat--maven-mysql] 实际操作

44 篇文章 0 订阅
9 篇文章 1 订阅
本文详细介绍了如何在 CentOS 8 中配置静态IP、安装和配置JDK、MySQL,并部署Tomcat和Maven。包括网络连接模式的选择、系统网络配置的修改、JDK环境设置、MySQL的安装及权限管理,以及Tomcat和Maven的基础配置。
摘要由CSDN通过智能技术生成

相信每个最先接触的是windows操作系统吧,而且用了那么多年,已经成为了习惯,但是由于工作需要,要接触linux系统,而且刚开始接触一般是选择虚拟机来安装linux;
linux系统有很多派系而且每个派系还有一众小弟,但是企业用的linux服务器的数量就很少了; 像什么cent os,ubuntu os
,opensuse 服务器版,这些系统共同的特点就是比较稳定,但也有一个缺点就是更新比较慢; 毕竟稳字当先;

web配置

这里以centos8为例—虽然现在已经停止维护了,但基本配置思路是一样的;

[zzy@192 ]$ sudo vi /etc/sysconfig/network-scripts/ifcfg-ens160

初始配置如下

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens160
UUID=a5a5e1cb-e1c0-4a57-a657-5c8c89541524
DEVICE=ens160
ONBOOT=yes

修改的内容有
1,BOOTPROTO=dhcp 改为static —静态;避免每次的IP地址都不一样;
2,去掉UUID行
3,添加
IPADDR=192.168.135.145
NETMASK=255.255.255.0
GATEWAY=192.168.135.2
DNS1=114.114.114.114
最后修改后的结果如下

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.135.145
NETMASK=255.255.255.0
GATEWAY=192.168.135.2
DNS1=114.114.114.114

然后使得该配置生效—

source /etc/sysconfig/network-scripts/ifcfg-ens160 

查看ip 地址

[zzy@localhost ~]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:88:15:68 brd ff:ff:ff:ff:ff:ff
    inet 192.168.135.145/24 brd 192.168.135.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::994e:beda:757e:3b6a/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

如果跟自己配置的不一样,别着急,可能当时配置的并没有生效,在centos8 里可以重启一下网络服务

 systemctl restart NetworkManager

这里提一下配置网络的基本原理---->>

网络连接模式

host-onboy(主机模式)
在某些特殊的网络调试环境中,要求将真实环境虚拟环境隔离开,这时你就可采用host-onboy模式。
在host-onboy模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
在host-onboy模式下,虚拟系统的TCP/IP配置信息都是由VMnet1(host-onboy)虚拟网络的DHCP服务器来动态分配的

bridged(桥接模式)
VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。
使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。
当前主机IP 为 192.168.8.100 虚拟机 192.168.8.xxx
那如果用外部软件来连接虚拟机,那么这种模式是访问不到的,因为在同一个网段,路由的时候路由不到该虚拟机;

NAT(网络地址转换模式)
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。
NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的虚 拟系统也就无法和本局域网中的其他真实主机进行通讯

JDK的安装

查找一下java软件

[root@localhost ~]# yum search java

你会看到java所有的软件
在这里插入图片描述
选一个进行安装(软件右面有提示说明这个软件是做什么的)
如果网络慢的话,那就可以修改一下数据源;
(这个跟你在哪里下载的系统有关,我是在阿里云下载的,所以系统默认软件源为ali云,如果是中科大那系统默认源就是中科大,官网则是官方源)
验证一下

[root@localhost ~]# java version
Error: Could not find or load main class version
Caused by: java.lang.ClassNotFoundException: version
[root@localhost ~]# java -version
openjdk version "11.0.13" 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
[root@localhost ~]# javac  -version
javac 11.0.13

接着是jdk环境的配置

找到jdk安装目录;

[root@localhost profile.d]# whereis java


java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
[root@localhost profile.d]# 

这就很懵逼了 哪一个才是呢?带有bin的?都带有bin文件夹呀,真假美猴王在上演?

别着急,使出照妖镜----
元神在这里,高兴的去找它,你会发现这货并不是

[root@localhost bin]# which java
/bin/java

在照一下

[root@localhost /]# ls -lr /usr/bin/java
lrwxrwxrwx. 1 root root 22 Jan  2 23:56 /usr/bin/java -> /etc/alternatives/java

这个也不是,那就再照一下

[root@localhost /]# ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 64 Jan  2 23:56 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64/bin/java
[root@localhost /]# 

这回没跑了吧—>配置一下javahome

但是这样后期不太方便维护,还是下载到本地的压缩包配置比较容易维护
这里提供一下本地安装的配置文件
在这里插入图片描述

mysql的安装

跟jdk开发环境软件安装思路一致,
去官网下载对应的mysql版本
然后解压到 /usr/local
然后配置一下变量环境—
在/etc/profile.d 下新建一个文件 mysql.sh
添加变量
Linux (centos8)安装 MySQL 8 数据库
tomcat,mavenp配置思路也是一样的,先去官网下载对应版本的安装包,然后解压到
/usr/local 文件夹下
之后配置环境变量
在这里插入图片描述

这是一些环境变量可以在里面增加一些自己的环境变量
在这里插入图片描述
之后进入 /usr/local 目录下,创建用户和用户组并授权---->>
这一步是必要的,不然mysql只会在root权限下运行,不便于使用

注意 ----要进入 /usr/local 目录下在操作

[root@localhost local]# groupadd mysql  ----增加用组mysql
[root@localhost local]# useradd -r -g mysql mysql    ---在mysql用户组中添加用户

授权---->

[root@localhost local]# cd mysql/  ---相当于选中mysql文件夹下所有文件
[root@localhost mysql]# chown -R mysql:mysql ./   授权所有文件

查看是否成功---->>

[root@localhost mysql]# ll
total 284
drwxr-xr-x.  2 mysql mysql   4096 Sep 28 07:42 bin
drwxr-xr-x.  2 mysql mysql     55 Sep 28 07:41 docs
drwxr-xr-x.  3 mysql mysql    282 Sep 28 07:41 include
drwxr-xr-x.  6 mysql mysql    201 Sep 28 07:42 lib
-rw-r--r--.  1 mysql mysql 276550 Sep 28 04:46 LICENSE
drwxr-xr-x.  4 mysql mysql     30 Sep 28 07:41 man
-rw-r--r--.  1 mysql mysql    666 Sep 28 04:46 README
drwxr-xr-x. 28 mysql mysql   4096 Sep 28 07:42 share
drwxr-xr-x.  2 mysql mysql     77 Sep 28 07:42 support-files
[root@localhost mysql]# ll

配置一下mysql数据存放位置
在 /usr/local/mysql 文件夹下建立一个数据存放区 data

[root@localhost mysql]# mkdir data
[root@localhost mysql]# ls

初始化数据库

[root@localhost mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

会出现下面的内容,说明操作正确;
在这里插入图片描述
由于之前操作了mysql文件夹下所有文件的归属者为 mysql组下的mysql,这样做是为了能够使得mysql初始化时有权限能够生成相应的必要文件,配置结束后就要收回权限,
但是data文件夹的权限保留,不然怎么写入数据库
所以要修改一下data这个文件夹的权限
在这里插入图片描述

还是要进入 /usr/local/mysql目录下

[root@localhost mysql]# chown -R root:root ./
[root@localhost mysql]# chown -R mysql:mysql data
[root@localhost mysql]# ll

```![在这里插入图片描述](https://img-blog.csdnimg.cn/5e959bca69e443bf837ff2a7c64a3cd0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAR2F2aW5fTGlt,size_20,color_FFFFFF,t_70,g_se,x_16)
 在 /usr/local/mysql/support-files下创建my.cnf配置文件

```bash
root@localhost support-files]# touch my-default.cnf      ----创建一个默认配置文件为空

[root@localhost support-files]# chmod 777 ./my-default.cnf   ---授予权限

回到上级目录
[root@localhost support-files]# cd ..

[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf 
---复制到etc目录下,并重命名
[root@localhost mysql]# cd /etc
---查看是否操作成功
[root@localhost etc]# ls | grep my.cnf
my.cnf
[root@localhost etc]# 

接着配置my.cnf

vi my.cnf

[client]
port=3306
socket=/var/lib/mysql/mysql.sock

[mysql]
socket=/var/lib/mysql/mysql.sock

[mysqld]
port=3306
user=mysql
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/data/error.log
pid-file=/usr/local/mysql/data/mysql.pid
transaction_isolation=READ-COMMITTED
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
lower_case_table_names=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

设置一下开机自启

[root@localhost etc]# cd /usr/local/mysql/support-files
[root@localhost support-files]# cp mysql.server /etc/init.d/mysql
[root@localhost support-files]# chmod +x /etc/init.d/mysql
[root@localhost support-files]# 
# chkconfig --add mysql

验证一下

[root@localhost support-files]# chkconfig --list mysql

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

mysql          	0:off	1:off	2:on	3:on	4:on	5:on	6:off


配置自启动路径

[root@localhost support-files]# vim /etc/ld.so.conf

添加如下内容
在这里插入图片描述在启动过程中可能会遇到一些小小的配置错误
比如我遇到了

[root@localhost etc]# service mysql start
Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysql.pid).

问题出现的原因就是没有在/usr/loacl/mysql/support-files 目录下进行授权,所以my-default.cnf之前的权限是这样的
在这里插入图片描述

[root@localhost support-files]# chmod 777 ./my-default.cnf`   

—授予权限之后
在这里插入图片描述
这个操作之后在重复执行后续步骤
额…还是报错,复制过去之后的文件权限 还是 -rw-r–r--
可能是复制过去的文件夹不和源文件夹权限相同吧,(暂且不管它)
没办法,只能在etc 文件夹下再次授权my.cnf

之后,可以正常启动mysql了

[root@localhost bin]# systemctl start mysqld.service
[root@localhost bin]# systemctl status  mysqld.service
● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2022-01-03 23:30:43 PST; 12s ago
  Process: 46474 ExecStopPost=/usr/libexec/mysql-wait-stop (code=exited, status=0/SUCCESS)
  Process: 47929 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
  Process: 47802 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
  Process: 47777 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 47884 (mysqld)
   Status: "Server is operational"
    Tasks: 38 (limit: 23516)
   Memory: 452.9M
   CGroup: /system.slice/mysqld.service
           └─47884 /usr/libexec/mysqld --basedir=/usr

登录用户root密码是之前随机生成的,相信你已经记录下来了,如果没有,那么可以在/usr/local/mysql/data/mysql.log日志文件中找到

登陆时出现一个警告---->>

[root@localhost etc]# mysql -uroot -hlocalhost -p
mysql: [Warning] World-writable config file '/etc/my.cnf' is ignored.
Enter password: 

这表示my.cnf配置文件任何人都可以读写,那不行,既然mysql可以正常启动了,那么就要 杯酒释兵权呀,将权限修改回来

[root@localhost etc]# chmod 644  my.cnf

在这里插入图片描述
改回来之后重启又报错了---->>

[root@localhost etc]# service mysql start
Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysql.pid).
[root@localhost etc]# 

说名 权限改的不太对,改回644又无法登录,索性先将用户配置去掉,

找到默认的my.cnf配置文件

[root@localhost etc]# which mysql
/usr/local/mysql/bin/mysql
[root@localhost etc]# /usr/local/mysql/bin/mysql --verbose --help | grep -A 1 'Default options'
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf /usr/local/mysql/my.cnf ~/.my.cnf 
[root@localhost etc]# 

可以看到配置文件默认的加载书顺序,
首先读取/etc/my.cnf,没有的话再去读取/etc/mysql/my.cnf 以此类推

于是乎我就挨个目录去找,发现所有的文件夹下都没有my.cnf 配置文件,
这个权限真的不知道怎么处理了,
于是我就想那它默认加载的配置在那个文件夹中?

[root@localhost mysql]# locate my.cnf
/etc/my.cnf
[root@localhost mysql]# cd /etc
[root@localhost etc]# ll my.cnf
ls: cannot access 'my.cnf': No such file or directory

好家伙,就在/etc/my.cnf,但是这个etc下又没有这个配置文件(刚刚被我重命名了,以防生效)

目前只有从权限方面入手了;
试了775,不好使, 好像只有777 好使也不能说好使,是mysql服务器直接忽略了这个配置,

如果不是777,那么就会报 …pid not update之类的错误;

暂时没有找到更好的解决方式,还请遇到这种情况的大佬给个解决方案

mysql官方安装教程

tomcat 与maven配置

这个就简单了,下载软件解压到指定文件夹
在这里插入图片描述
配置一下变量环境
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeMartain

祝:生活蒸蒸日上!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值