刚在阿里云租了一个ECS云服务器,最低配的入门款(1G,1核 服务器买的三年的¥640,然后公网IP一年¥234),主要用于做测试练习使用,刚入手的服务器是内部是没有东西的,所以一些工具例如JDK,mysql数据库,tomcat等都需要安装配置,所以在此一边安装工具一边记录,同时把遇到的一些坑也一起记录下来以供后期参考。通用工具网址。
准备工作:将需要安装的一些工具在官网下载好linux版的tar压缩包,然后将压缩包放入服务器(本人使用的是xshell,个人版可免费使用)
一、JDK 安装配置
1、可以自己先创建一个目录用于放置jdk(主要方便管理)
-- mkdir 目录名称 : mkdir jdk
2、将压缩包文件解压到指定的目录文件下(此处解压至/user/local/jdk目录下)
-- tar zxvf 压缩包名 -C 目录路径(C大写): tar zxvf jdk-8u211-linux-x64.tar.gz -C /user/local/jdk
解压后查看:
3、修改目录名称
-- mv 原目录/文件名称 修改后目录/文件名称: mv jdk1.8.0_211 jdk1.8
4、配置环境变量
a、打开配置文件: vim /etc/profile
b、 在配置文件后添加jdk环境变量
export JAVA_HOME=/user/local/jdk/jdk1.8
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
(输入i进入编辑模式,编辑完成后exit退出编辑,然后shift+:+wq 返回)
c、让修改的配置生效: source /etc/profile
d、查看版本号,是否安装成功: java -version
二、MySql 安装
对于新手而言刚开始安装的时候千万别想着安装到别的指点目录下,因为解压包内有很多读取配置路径都是写死的,改起来很麻烦,按部就班安装在/usr/local/mysql目录下就行了
(请原谅,之前编辑时忘记保存了所以截图还是之前安装留下的的,主要看文字命令)
1、将mysql压缩包进行解压至自定义的文件夹内
tar zxvf mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
解压完查看下是否在指定目录,如果在可将解压后文件夹名称做修改
mv mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz mysql
2、创建mysql用户和用户组
a 、用root用户登录系统,在root用户主目录下创建mysql用户和用户组
创建用户组: groupadd mysql
创建用户: useradd -g mysql mysql
设置用户密码: passwd mysql
3、配置相关的配置文件
a、在解压后的mysql文件夹中找到support-files文件夹内的my_default.cnf文件复制到/etc/my.cnf (mysql启动时自动读取)
执行复制命令: cp my-default.cnf /etc/my.cnf
当执行命令的时候会提示是否覆盖之前的my.cnf文件,输入yes即可
b、解决乱码问题
进入编辑命令:vi /etc/my.cnf
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
explicit_defaults_for_timestamp=true
sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
c、将mysql.server 复制到/etc/init.d/
cp mysql.server /etc/init.d/mysql
修改 /etc/init.d/mysql 参数,给予2个目录位置
输入命令:vi /etc/init.d/mysql
更改:basedir=/usr/local/mysql //mysql解压文件路径
datadir=/usr/local/mysql/data //数据保存路径,预先创建好文件夹
d、给目录/usr/local/mysql更改拥有者
chown -R 用户名:组名 /usr/local/mysql
输入命令:chown -R mysql:mysql /usr/local/mysql
记住如果data目录不在mysql解压包内也要更改拥有者
输入命令:chown -R mysql:mysql /usr/local/mysql/data
e、初始化mysql的数据库
① 初始化数据库
首先要去到mysql/bin目录下
老版本的命令:mysql_install_db
新版本的命令:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
生成出一个data目录,代表数据库已经初始化成功
这里会生成一个临时密码(保存记住,后面要用到)
有时候安装可能会出现报错:./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
这时候先检查该链接库文件有没有安装使用 命令进行核查:rpm -qa|grep libaio
运行该命令后发现系统中无该链接库文件,使用命令:yum -y install libaio-devel.x86_64
安装成功后,继续运行数据库的初始化命令
成功后继续执行上边的初始化语句,这时候你会看到如下信息(记住将临时密码复制出来,后边要用)
SGBTQ,Mma0sx
输入命令:./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
启动mysql
输入命令:./mysqld_safe --usr=mysql &
&符号:把当前进程丢给后台
注:如果在登录mysql数据库是出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
可参考以下方式做修改:
单纯忘掉了数据库某一用户的密码
1.停止mysql服务service mysqld stop
2.编写mysql配置文件,并启动mysql1)vim /etc/my.cnf
2)添加:skip-grant-tables (忽略mysql权限问题,直接登录)
3)重启服务:service mysqld start
3.无密码进入mysql,执行对账号密码的修改->mysql
->use mysql;(使用mysql表操作)
->update user set password=password("新密码") where user="账户名";
->flush privileges; (刷新权限)
4.停掉mysql服务,将配置文件中新添加的配置删除掉,再重启mysql服务登录
5.辅助:
(1)新添加用户直接使用insert into 账号密码 无作用,必须先添加用户账号,再使用update语句才行。密码会被加密。
(2)如果上述第二步不管用,那么可以尝试:停掉mysql服务
执行指令以无权限验证与密码的登录方式:
-> mysqld_safe --skip-grant-tables &
-> mysql -u root
然后再更新密码
二、一些解决问题的mysql操作
为指定用户赋予操作指定数据库的权限:(使用root用户为jeff用户赋予osdb数据库的所有权限)
grant all privileges on osdb.* to jeff@'%' identified by 'root';
误删mysql的root用户
免登陆状态下:insert into user set Host='localhost',User='root',Password=Password('111111'),select_priv='y',
insert_priv='y',update_priv='y',
Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Proce
ss_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',sho
w_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_sl
ave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',al
ter_routine_priv='y';
修改完登录如果遇到:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
可尝试重启服务然后重试: ->$ /etc/init.d/mysql restart
以上操作均完成之后需要将数据库设置允许外部访问:
1、登录mysql:mysql -u root -p
2、使用 mysql 命令为 root 用户授权 mysql 远程连接服务
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'root' WITH GRANT OPTION;
说明:此命令是为密码为 root 、IP(%)任意的 root 用户授权。(%:模糊查询,所有 IP 都可以,,可指定其他主机 IP;BY 后的 'root' 为密码)
3、将配置写入 mysql 授权表中: flush privileges;
修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。
mysql>use mysql;
mysql>
update
user
set
host =
'%'
where
user
=
'root'
;
mysql>
select
host,
user
from
user
;
mysql> flush
privileges
;
如果此时连接出现
弹出如上提示窗口时,说明无法连接服务器,需要去服务器提供商去设置安全组规则,开放安装配置MySQL数据库是的端口,我这里默认是3306端口
至此mysql就算是按照完成了。
三、tomcat安装
1、现将tomcat压缩包解压至你需要放置的目录下
# tar zxvf apache-tomcat-9.0.20.tar.gz -C /user/local/tomcat
2、修改文件夹名称
# mv apache-tomcat-9.0.20 tomcat-9.0.20
其实到这一步已经差不多了,可以启动tomcat看下是否能够访问主页
3.启动tomcat并查看日志
a、进入到bin目录下: cd /user/local/tomcat/tomacat-9.0.20/bin
b、启动tomcat查看日志: ./startup.sh | tail -f ../logs/catalina.out
但是启动时会发现启动特别慢,开始以为是因为买的服务器配置太低的原因,后来发现是熵池太小的原因。
此处应感谢博主“红色沙漠”的分享:https://www.cnblogs.com/taiyanhong/p/8000530.html
1、查看熵池大小: cat /proc/sys/kernel/random/entropy_avail
2、查看cpu是否支持:cat /proc/cpuinfo | grep rdrand
3、安装rngd服务(熵服务):yum install rngd-tools 或者yum install rng-tools
4、启动rngd服务:systemctl start rngd
此时再看熵值大小发现大概在3000左右,然后访问tomcat能发现速度提了几个档次
如果多个tomcat怕会冲突也可以修改配置文件的端口号。此处不过多解释。
至此tomcat 的安装也完成了。