02_阿里云Centos7 安装 JDK MySQL Tomcat Nginx Redis

阿里云Centos7服务器环境搭建

JDK 安装

下载和安装

Centos7 自带有 OpenJDK runtime environment (openjdk)。它是一个在linux上实现的开源的 java 平台。

我们可以输入以下命令,以查看可用的JDK软件包列表:

yum search java | grep -i --color JDK

就会得到很长的一串列表。

在列表中选择一个合适版本的 JDK,通过如下命令安装:

yum install java-1.8.0-openjdk

配置

配置环境变量 JAVA_HOME

通过 yum 安装 JDK,默认安装的路径是 /usr/lib/jvm/,cd 到这个目录中你会看到类似如下的文件列表:

1571386407588.png

所以应该设置为:JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64

编辑 /etc/profile 配置全局的 JAVA_HOME

vim /etc/profile

再将 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64 添加到最后一行;同理,将如下两行也添加到末尾:

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

执行 source /etc/profile 命令让配置文件的更改立即生效。然后就可以执行 echo $JAVA_HOME echo $CLASSPATH echo $PATH 来验证环境变量是否配置成功。

验证 java 是否安装成功

执行命令 java -version 查看 java 的版本

创建一个简单的 java 文件,编译执行:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World! This is a test code by nixCraft!");
    }
}

执行命令:

//  编译
javac HelloWorld.java
//  运行
java HelloWorld

输出下边这句话代表 java 安装成功

Hello, World! This is a test code by nixCraft!

MySQL 安装

清理环境

Centos 是自带 MariaDB 数据库的,安装 MySQL 前最好先将 MariaDB 清理,以免出现错误;

rpm -qa | grep -i mariadb                           //查看有没有安装mariadb 
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64    //如果有,卸载MariaDB 

如果之前有安装过 MySQL ,那么最好也将原来的清理干净

rpm -qa | grep -i mysql                   //查看有没有安装mysql
rpm -e MySQL-client-5.6.38-1.el7.x86_64   //如果有,卸载旧版本Mysql

//删除服务
chkconfig --list | grep -i mysql          //查看服务
chkconfig --del mysql                     //删除服务

//删除mysql分散的文件夹
whereis mysql                             //查出相应的mysql文件夹
rm -rf /use/lib/mysql                     //删除

安装依赖

MySQL 依赖两个组建:perl 和 autoconf 。安装 MySQL 前需要将这两个安装好:

yum install perl
yum -y install autoconf //此包安装时会安装Data:Dumper模块 

下载安装 MySQL

下载

点击链接下载MySQL

注意选择正确的版本:

  • centos内核基于Red Hat,所以下载的时候需要下载Red Hat版本
  • 注意是32位的还是64位的,如果不清楚自己系统的位数,可以通过 file /bin/ls 查看

下载好后,想办法将压缩包传到服务器上,这里有个工具 rz ,可以搜索 rz 找到相关的信息。

增加 mysql 用户组

cat /etc/group |grep mysql  //检查mysql用户及组是否存在,如果没有执行下面命令
groupadd mysql  //创建组
useradd -r -g mysql mysql //创建用户并把该用户加入到组mysql,这里的 -r是指该用户是内部用户,不允许外部登录
passwd mysql  //给用户mysql设置密码,需要输入2次

安装

// 解压mysql
tar -xvf MySQL-5.6.38-1.el7.x86_64.rpm-bundle.tar  //注意,是-xvf不是-zxvf
 
// 安装mysql
rpm -ivh MySQL-client-5.6.38-1.el7.x86_64.rpm      //-i是安装,-v是列出更多详细信息,-h是在安装时列出hash标记
rpm -ivh MySQL-devel-5.6.38-1.el7.x86_64.rpm
rpm -ivh MySQL-server-5.6.38-1.el7.x86_64.rpm 

配置

修改密码

service mysql status                                               //查看mysql服务状态
//如果是开启服务状态,用service mysql status关闭服务
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &  //绕过密码登录
mysql -u root -p                                                  //登录 
use mysql                                                         //切换数据库
select Host,User,Password from user;                              //查询用户
UPDATE user SET password=password("root") WHERE user='root';      //修改密码
quit                                                              //退出

重启服务,登陆试试密码是否修改成功

service mysql restart                                             //重启mysql服务
mysql -u root -proot                                              // -proot,p代表password,root是密码
use mysql                                                         //切换数据库
set password = password('root');                                  //第一次登陆必须修改mysql密码
flush privileges;                                                 //刷新权限

赋予远程连接权限

// 赋予任何主机访问数据的权限(远程访问)
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; 
flush privileges;                                                  //刷新权限
quit                                                              //退出 mysql 
service mysql restart                                             //重启mysql

防火墙开放开3306端口

Centos7 及以上是由 firewall 来管理防火墙

//查看firewall状态(runing:运行,not runing:没有运行),如果没有运行,用systemctl start firewalld启动
firewall-cmd --state 
firewall-cmd --permanent --zone=public --add-port=3306/tcp      //添加3306端口
firewall-cmd --reload                                           //重新加载firewall

在服务器控制台开放 3306 端口

远程用图形化界面连接数据库

连接成功说明 MySQL 已经配置成功!

设置mysql开机启动

chkconfig --list mysql                    //查看mysql服务
chkconfig mysqld on                       //开启MySQL服务自动开启命令
chkconfig mysql on                        //开启MySQL服务自动开启命令

mysql 组装后的重要目录

  • /var/lib/mysql 数据库文件
  • /usr/share/mysql 命令及配置文件
  • /usr/bin mysqladmin、mysqldump等命令

Tomcat 安装

防火墙开放对应端口

Tomcat默认使用的是 8080 端口,开放该端口:

firewall-cmd --zone=public --add-port=8080/tcp --permanent    #(--permanent永久生效,没有此参数重启后.效)
firewall-cmd --reload  #刷新防火墙 使其生效
firewall-cmd --zone=public --list-ports #查看防火墙放行端口列表

下载

执行下载命令:

wget http://mirrors.shuosc.org/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz

解压

tar -zxvf apache-tomcat-8.5.24.tar.gz

配置

有些地方会讲到配置 java 环境变量,如果在安装 java 的时候已经配置好了,这里就不需要再配置。

配置tomcat8开机启动

/usr/lib/systemd/system目录下增加tomcat.service文件

vim /usr/lib/systemd/system/tomcat.service

写入如下内容:

[Unit]
Description=Tomcat  # 服务名
After=syslog.target network.target remote-fs.target nss-lookup.target # 表示在什么服务之后

[Service]
Type=oneshot
ExecStart=/usr/local/tomcat8/bin/startup.sh   # 这里需要根据自己的文件位置更改路径
ExecStop=/usr/local/tomcat8/bin/shutdown.sh   # 这里需要根据自己的文件位置更改路径
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

允许开机自启动:

systemctl enable Tomcat

配置好后就可以使用如下命令:

systemctl start tomcat8.service    //启动tomcat
systemctl stop tomcat8.service    //关闭tomcat   
systemctl restart tomcat8.service   //重启tomcat 
systemctl status tomcat8.service   //查看状态tomcat 

更改端口号

根据自己的需求更改,默认是8080

找到自己的Tomcat安装目录,里边有一个 conf 文件夹

cd /tomcat/apache-tomcat-8.5.47/conf

更改里边的 server.xml 文件,在如下的地方更改端口号:

1571391897493.png

更改后再重启Tomcat

Nginx 安装

安装依赖

Nginx有三个依赖:PCREzlibOpenSSL

  • perl 是一个正则表达式库,nginx 的 http 模块需要使用 pcre 来解析正则表达式;
  • zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip;
  • OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

三个依赖库执行如下命令安装:

yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

下载并解压

使用wget命令下载

wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

解压

tar -zxvf nginx-1.10.1.tar.gz

配置

使用默认配置就可以

cd 到解压后的目录里边,有一个 configure 可执行文件,输入命令 ./configure 执行。

编译安装

make
make install

查找安装路径:

whereis nginx

启动和停止Nginx

在Nginx的安装路径中有个 sbin 文件夹,里边是 Nginx的可执行文件

./nginx 
./nginx -s stop
./nginx -s quit
./nginx -s reload

./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

查询Nginx的进程

ps aux|grep nginx

启动后,浏览器访问80端口,会得到Nginx的页面,这样Nginx就安装成功了!

Redis 安装

下载并解压

wget http://download.redis.io/releases/redis-4.0.6.tar.gz
tar -zxvf redis-4.0.6.tar.gz

在解压目录下执行 make 命令进行编译,然后 make install 安装

安装完成后,执行redis-server -v查看版本,然后启动Redis

[root@localhost redis-4.0.6]# redis-server 
9961:C 12 Dec 05:14:58.101 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
9961:C 12 Dec 05:14:58.101 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=9961, just started
9961:C 12 Dec 05:14:58.101 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 4.0.6 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 9961
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

另起一个终端来连接Redis服务端

redis-cli

这样Redis就安装成功啦!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容