CentOS7.5搭建javaweb环境Nginx,JDK,Mysql,Tomcat,Redis

1、安装基本工具

在新申请的CentOS7.5云主机上,咱们还须要安装一些最基本的工具:css

# 安装vim
 yum install vim
 
# 安装netstat工具
yum install net-tools   # netstat -anp | grep 80  (查看端口是否开启)

# nmap 查看对外开放的端口
yum install nmap 
nmap 98.126.219.176 -p 80 (查看80端口是否对外开放,考虑防火墙)

# 上传下载工具
yum install lrzsz
rz   #上传文件

开发环境相关软件版本:html

Linux CentOS 7.5 64位
JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.5.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Tomcat >=9.0
Node >=10

2、安装Nginx

一、先下载gcc

> yum install gcc pcre-devel zlib zlib-devel openssl openssl-devel

二、下载源码包

下载源码包,,选择稳定版本,解压缩安(在根目录建developer目录,而后进入该目录做为咱们的开发目录装)(http://www.nginx.org/java

cd /
mkdir developer
cd /developer
wget http://nginx.org/download/nginx-1.10.2.tar.gz

三、解压缩

tar -zxvf nginx-1.10.2.tar.gz

四、编译安装

进入Nginx目录以后执行 ./configure
执行 make && make installmysql

默认安装在 /usr/local/nginxlinux

五、配置防火墙

安装好以后,咱们能够查看80端口是否开启android

netstat -anp | grep 80  #(查看端口)

而后咱们经过IP访问这台服务器,可是你会发现访问不了,这是什么缘由呢?
filenginx

原来是由于购买的这台服务器默认开启了防火墙,80端口没有开放,因此,咱们须要开放80端口
添加redis

firewall-cmd --zone=public --add-port=80/tcp --permanent   (--permanent永久生效,没有此参数重启后失效)

从新载入sql

firewall-cmd --reload

如今咱们能够看到,Nginx服务已经能够访问了:
file数据库

顺便也打开其余端口:

# 打开22端口,容许ssh远程链接
firewall-cmd --zone=public --add-port=22/tcp --permanent
# mysql,容许远程客户端能够访问
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

六、经常使用命令

/usr/local/nginx/sbin/nginx # 启动
/nginx/sbin/nginx -s reload # 重启
安装路径下的 /nginx/sbin/nginx -s stop 或:nginx -s quit  # 中止

七、开机自启动

# 若是是源码安装,则须要手动建立nginx.service
systemctl start nginx.service

配置防火墙

若是你的linux是CentOS7的话启用上面的命令会报出 Unit iptables.service failed to load: No such file or directory.异常。

centos从7开始默认用的是firewalld,这个是基于iptables的,虽然有iptables的核心,可是iptables的服务是没安装的。因此你只要中止firewalld服务便可:

systemctl stop firewalld.service && systemctl disable firewalld.service

systemctl start firewalld.service && systemctl enable firewalld.service

若是想要改用iptables的话,则须要安装

yum install iptables-services 

systemctl stop iptables && systemctl disable iptables
systemctl start iptables && systemctl enable iptables

firewalld防火墙使用

firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;

一、firewalld的基本使用
启动: systemctl start firewalld
查看状态: systemctl status firewalld
中止: systemctl disable firewalld
禁用: systemctl stop firewalld

2.firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;
启动一个服务: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

查看启动失败的服务列表:systemctl --failed

3.配置firewalld-cmd

查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看全部打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload

4.那怎么开启一个端口呢

添加

firewall-cmd --zone=public --add-port=80/tcp --permanent   (--permanent永久生效,没有此参数重启后失效)

从新载入

firewall-cmd --reload

查看

firewall-cmd --zone=public --query-port=80/tcp

删除

firewall-cmd --zone=public --remove-port=80/tcp --permanent

3、安装jdk1.8

一、验证是否已安装JDK

[root@cs ~]# java -version
-bash: java: command not found

能够看到,没有安装。

二、JDK下载

如今下载JDK须要登陆才能实现下载了,下载地址:https://www.oracle.com/techne...

file

三、上传到服务器

本地下载后,而后将下载压缩包上传到/developer/目录。

四、解压

tar -zxvf jdk-8u241-linux-x64.tar.gz -C /usr/local/java/  # 解压到指定/usr/local/java路径

而后咱们要作一个验证, 它是否已经解压到 /usr/local/java下了呢, 用什么命令, ls

root@cs java]# pwd
/usr/local/java
[root@cs java]# ls -l
total 0
drwxr-xr-x 7 10143 10143 245 Dec 11 02:39 jdk1.8.0_241

已经解压到 /usr/local/java下面了, "jdk1.8.0_241"文件夹就是。

五、jdk配置环境变量

(1)、编辑profile文件

sudo vim /etc/profile

(2)、在最下方增长:

# jdk1.8 env(20200414)
export JAVA_HOME=/usr/local/java/jdk1.8.0_241
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

file

(3)、使配置生效

source /etc/profile

六、jdk验证

执行 java -version 命令,看到如图所示表明安装成功。

[root@cssbjqnffcsvic java]# java -version                                                                         
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)

4、安装mysql

家都知道,centos自带的repo是不会自动更新每一个软件的最新版本,因此没法经过yum方式安装MySQL的高级版本。因此,即便我使劲用yum -y install mysql mysql-server mysql-devel,也是没有人会鸟个人。
因此,正确的安装mysql5姿式是要先安装带有可用的mysql5系列社区版资源的rpm包

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

查看当前可用的mysql安装资源

yum repolist enabled | grep "mysql.*-community.*"
[root@cssbjqnffcsvic ~]# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64 MySQL Connectors Community                 141
mysql-tools-community/x86_64      MySQL Tools Community                      105
mysql56-community/x86_64          MySQL 5.6 Community Server                 513

通常来讲,只要安装mysql-server跟mysql-client 。这时直接使用yum的方式安装MySQL

yum -y install mysql-community-server

安装完成

#查看版本
mysql -V

mysql  Ver 14.14 Distrib 5.6.40, for Linux (x86_64) using  EditLine wrapper 

#测试一下,本机登陆不须要密码
/usr/bin/mysql

启动和开机启动

#加入开机启动
systemctl enable mysqld

#启动mysql服务进程
systemctl start mysqld

登陆修改密码:
安装成功后,默认root是没有密码的,因此,咱们能够直接登陆:

mysql -uroot -p

设置root密码:

# 这里咱们暂定为密码是admin
mysql> set password for root@127.0.0.1=password('admin');
mysql> set password for root@localhost=password('admin');
exit;

而后退出,从新登陆,则须要输入密码。

新增用户

通常对外访问咱们不要使用root,由于权限太大了,为了安全root超级用户只能在服务器内部localhost使用,因此,这里咱们新建立一个用户,并给该用户受权及任意IP均可以访问。

一、先查看目前MySQL的用户:

mysql> select user,host from mysql.user;
mysql> select user,host from mysql.user;
+------+----------------+
| user | host           |
+------+----------------+
| root | 127.0.0.1      |
| root | ::1            |
| root | cssbjqnffcsvic |
| root | localhost      |
+------+----------------+
4 rows in set (0.00 sec)

二、建立用户

GRANT ALL PRIVILEGES ON *.* TO 'quant'@'%'  IDENTIFIED BY '518666' WITH GRANT OPTION; #全部电脑IP均可以使用quant用户,密码为518666远程访问数据库,而且开通全部权限给该用户

#GRANT ALL PRIVILEGES ON *.* TO 'quant'@'localhost'  IDENTIFIED BY '518666' WITH GRANT OPTION; #本机内部localhost可使用quant用户,密码为518666内部访问数据库,而且开通全部权限给该用户

// insert into mysql.user(Host,User,Password) values("localhost", "emall", password("518666"));  # 这种添加方式在mysql5.6会报错,因此用上边的语句

三、查询是否建立成功

mysql> select user,host from mysql.user;
+-------+----------------+
| user  | host           |
+-------+----------------+
| quant | %              |
| root  | 127.0.0.1      |
| root  | ::1            |
| root  | cssbjqnffcsvic |
| root  | localhost      |
+-------+----------------+
5 rows in set (0.00 sec)

咱们能够看到,该用户已经建立成功。

四、查看用户权限
咱们能够查看刚才建立的用户quant权限

mysql> select * from mysql.user where user = 'quant' \G;
mysql> select * from mysql.user where user = 'quant' \G; 
*************************** 1. row ***************************
                  Host: %
                  User: quant
              Password: *9ED4FFF2A197F9574379D17AEA2749770C109CDB
           Select_priv: Y
           Insert_priv: Y
           Update_priv: Y
           Delete_priv: Y
           Create_priv: Y
             Drop_priv: Y
           Reload_priv: Y
         Shutdown_priv: Y
          Process_priv: Y
             File_priv: Y
            Grant_priv: Y
       References_priv: Y
            Index_priv: Y
            Alter_priv: Y
          Show_db_priv: Y
            Super_priv: Y
 Create_tmp_table_priv: Y
      Lock_tables_priv: Y
          Execute_priv: Y
       Repl_slave_priv: Y
      Repl_client_priv: Y
      Create_view_priv: Y
        Show_view_priv: Y
   Create_routine_priv: Y
    Alter_routine_priv: Y
      Create_user_priv: Y
            Event_priv: Y
          Trigger_priv: Y
Create_tablespace_priv: Y
              ssl_type: 
            ssl_cipher: 
           x509_issuer: 
          x509_subject: 
         max_questions: 0
           max_updates: 0
       max_connections: 0
  max_user_connections: 0
                plugin: mysql_native_password
 authentication_string: 
      password_expired: N
1 row in set (0.00 sec)

ERROR: 
No query specified

能够看到用户全部权限(CRUD)都开通了,咱们如今能够经过Navicat远程链接该数据库了。

mysql权限相关文章:
Mysql添加用户错误:ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value解决方法
MySQL数据库增长用户权限GRANT/INSERT INTO user VALUES/FLUSH
MySQL安装及受权

5、Tomcat安装

一、Tomcat简介

Tomcat是一个Web容器,JavaEE程序能够在此运行。

二、安装环境

CentOS 7.5 64位,jdk 1.8, Tomcat9.0, 注意:安装Tomcat以前须要安装好jdk,jdk1.8版本须要Tomcat9.0以上对应版本。

三、安装步骤

下载(使用清华大学的下载源):

wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz

解压缩:

tar -zxvf apache-tomcat-9.0.34.tar.gz

解压后的文件放在该目录下:

/developer/apache-tomcat-9.0.34

为了方便后期管理,咱们将Tomcat放在 /usr/local/java/ 目录下,咱们上边也是把jdk放在该目录下的。

cp -r  /developer/apache-tomcat-9.0.34 /usr/local/java/
# mv /developer/apache-tomcat-9.0.34 /usr/local/java/
[root@css java]# pwd
/usr/local/java
[root@css java]# ls -l
total 0
drwxr-xr-x 9 root  root  220 May 18 09:29 apache-tomcat-9.0.34
drwxr-xr-x 7 10143 10143 245 Dec 11 18:39 jdk1.8.0_241

配置环境文件:

(1)sudo vim /etc/profile
(2)在文件末尾增长:

# jdk1.8 env(20200517)
export JAVA_HOME=/usr/local/java/jdk1.8.0_241
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

# tomcat9.0(20200518) 新增TOMCAT
export CATALINA_HOME=/usr/local/java/apache-tomcat-9.0.34

(3)、使配置生效

source /etc/profile

四、配置utf-8字符集

由于tomcat默认不是utf-8字符集,遇到中文就乱码了,因此,这里须要配置。

cd /usr/local/java/apache-tomcat-9.0.34/conf
vim server.xml

找到配置8080默认端口的位置,在xml节点末尾增长 URIEncoding="UTF-8"

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" />

五、Tomcat 验证

进入Tomcat目录cd /usr/local/java/apache-tomcat-9.0.34/,进入bin目录,执行 ./startup.sh

看到以下信息提示,就表示安装成功。

[root@css bin]# ./startup.sh
Using CATALINA_BASE:   /usr/local/java/apache-tomcat-9.0.34
Using CATALINA_HOME:   /usr/local/java/apache-tomcat-9.0.34
Using CATALINA_TMPDIR: /usr/local/java/apache-tomcat-9.0.34/temp
Using JRE_HOME:        /usr/local/java/jdk1.8.0_241
Using CLASSPATH:       /usr/local/java/apache-tomcat-9.0.34/bin/bootstrap.jar:/usr/local/java/apache-tomcat-9.0.34/bin/tomcat-juli.jar
Tomcat started.

也能够开启Tomcat机器的IP地址和默认8080端口,本机访问:http://localhost:8080

curl http://localhost:8080

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Apache Tomcat/9.0.34</title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>

咱们能够看到在本机内部经过curl命令能够访问成功,证实已经安装OK,若是是外网经过浏览器访问,则须要开启防火墙的8080端口,不然访问不了。

添加8080端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent   (--permanent永久生效,没有此参数重启后失效)

从新载入

firewall-cmd --reload

经过浏览器访问 http://98.126.219.176:8080/, 能够看到Tomcat安装成功!

file

6、安装Redis

1.下载

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

2.解压并安装

tar xzf redis-5.0.6.tar.gz
 cd redis-5.0.6
 make

make完后 redis-5.0.6 目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:

3.启动redis服务

$ cd src
$ ./redis-server

若是看到下面的图,表示redis安装成功了^_^

(base) [root@cssbjqnffcsvic src]# ./redis-server
3161:C 18 May 2020 10:28:17.707 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
3161:C 18 May 2020 10:28:17.707 # Redis version=5.0.6, bits=64, commit=00000000, modified=0, pid=3161, just started
3161:C 18 May 2020 10:28:17.707 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
3161:M 18 May 2020 10:28:17.708 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 5.0.6 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 3161
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'

相关文章:
CentOS7关闭/开启防火墙出现 Unit iptables.service failed to load
CentOS7使用firewalld打开关闭防火墙与端口
CentOS7为firewalld添加开放端口及相关操做
Centos7安装JDK1.8教程(入门小白篇)
centos7下安装Mysql5.6(yum方式)
Java 实战开发之环境安装(一)

相关文章
相关标签/搜索