今日小编闲来无事,乘着公司新项目即将上线之际,在阿里云上整了一台centos做为测试机。本来觉得一个小时搞定,结果仍是花了一点小小时间。无论怎么说,记录下来,给各位小白当成课后甜点吧。java
价格mysql
先上价格,809.4RMB。linux
这个价格也就是一顿大餐的事情,BUT,做为程序员的你,将来的一年这台机器都是属于你的了哦。固然,配置低是低了点,可是好歹它是一台具有公网地址,功能齐全的centos7啊。总之,你想怎么造就怎么造,只要不用来干坏事就行。程序员
关闭防火墙web
因为这台测试机咱们要干不少事情,因此上来的第一件事情是关闭防火墙,以下:sql
systemctl stop firewalld数据库
而后,开机禁用,apache
systemctl disable firewalldcentos
注意了,systemctl是CentOS7的服务管理工具,小编不妨把一些经常使用的命令罗列在这里吧,tomcat
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
开启8080端口
咱们暂时并不打算使用80端口提供服务,因此,就打算将tomcat的8080做为web服务提供端口。可是,阿里云默认是不开启这个端口的,那怎么办呢,去控制台开启吧。
在ecs的列表界面,点更多->安全组配置,
这是具体的配置规则
配置完毕后,咱们在家中的沙发上就能够去访问8080上的服务了。固然了,咱们得首先配置JDK和TOMCAT不是么。
安装JDK
考虑到咱们的项目使用的是1.8开发的,因此,jdk就使用jdk1.8.0_151了。不要嫌弃小编,小编知道如今是JDK12了,可是奈何客户喜欢1.8啊。
tar –xvf jdk-8u151-linux-x64.tar.gz –C /usr/local/
参数讲解:
-x:extract,解包
-v:verbose,显示打包解包详细过程
-f:file,后面要跟马上被处理的压缩包名
-C:这个选项用在解压缩,若要在特定目录解压缩,可使用这个选项;
而后,vi /etc/profice,在最后加入这几行:
export JAVA_HOME=/opt/jdk1.8.0_151
export PATH=${JAVA_HOME}/bin:$PATH
export CATALINA_HOME=/opt/apache-tomcat-8.5.40
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:${CATALINA_HOME}/lib
export JRE_HOME=/opt/jdk1.8.0_151/jre
你们看到了tomcat的参数,不要紧,由于咱们立刻还要安装tomcat,因此我就一并提早录入进去了。
记住,若是你不想重启,记得source /etc/profile。
搞定以后,java -version一下,若是版本信息出来了,就说明安装成功了。
安装mysql
首先,能够到mysql的网站下载5.7.23的社区版。注意哦,小编本次的安装的各个软件所有都是官网下载的~
解压:
tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
Move到/usr/local下:
mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local
使用ln建立软链接:
ln -s /usr/local/ mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql
参数讲解:
-s:soft,指软链接
添加用户组
sudo groupadd mysql
添加用户
sudo useradd -r -g mysql -s /bin/false mysql
注意,如今跑到mysql目录下,手动建立mysql-files文件夹,而后修改权限,
sudo chmod 750 mysql-files
sudo chown -R mysql .
sudo chgrp -R mysql .
而后手动初始化data文件夹,以下:
sudo bin/mysqld --initialize --user=mysql
然而,并不能成功,提示咱们,安装libaio。好说,装之,
yum install libaio-devel.x86_64 -y
以下:
继续初始化,获得了密码,以下,
请把密码记录下来哦,不然接下来登陆不成功不要怪我~~
心情安逸的启动mysql,
sudo ./ _safe --user=mysql &
结果……发现启动不了,提示咱们缺乏了日志文件,以下,
mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
那既然这样,咱们就去手动建立日志吧,
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
建立完毕,发现仍是启动失败,使用netstat -ntlp查看3306压根没在监听。
这个时候,刚才建立的mariadb.log日志就起大做用了,去查,发现没有pid文件,以下:
是的,我可能何时操做过强制关机致使pid文件丢失。那解决办法是首先去/etc/my.cnf 中查看pid-file的位置,以下,
在小编的机器中,这个文件位置是pid-file=/var/run/mariadb/mariadb.pid
一样,让咱们手动建立对应的目录并修改权限
mkdir -p /var/run/mariadb
chown mysql.mysql /var/run/mariadb
这时能够尝试重启mysql了,若是还不行继续则继续建立一个pid文件并修改权限
touch /var/run/mariadb/mysqld.pid
chown mysql.mysql /var/run/mariadb/mysqld.pid
再次启动MySQL。就没有问题了。
如今,使用mysql -uroot -p登陆,结果仍是有问题:
奔溃ing……
没办法了,让咱们继续查找mysql.sock在哪里,
find / -name mysql.sock
结果发现是在/var/lib/mysql/mysql.sock。好的,让咱们带上这个路径,以下:
./mysql -uroot -p -S /var/lib/mysql/mysql.sock
启动成功。
输入最开始的初始化密码,登陆成功以后,让咱们第一件事情就是修改初始密码,以下:
mysql> SET PASSWORD = PASSWORD('新密码');
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
mysql> flush privileges;
而后,顺便查一下mysql默认的数据库吧:
show databases;
安装tomcat
肯定版本。8.5。
一样下载回来解压。注意哦,环境变量咱们已经配置好了。
使用su命令切换到root模式下。进入tomcat安装目录的bin,运行命令:
./startup.sh
当当当,大功告成。
且慢,为何tomcat启动了,可是外网要能访问到tomcat站点还得花不少分钟呢?
注意,这个问题致使小编一直觉得前面某个环节配置有问题,浪费了很多时间。通过查看日志,发现是由于session所对应的随机数问题所致使。要解决这个问题,安装rngd服务,增大熵池便可。以下,
yum install rng-tools
systemctl start rngd # 启动服务
ok,如今才是真正的大功告成,你们过个happy的周末吧~~
感谢关注“码农星球”。本文版权属于“码农星球”。咱们提供咨询和培训服务,关于本文有任何困惑,请关注并联系咱们。