CentOS7配置java-web运行环境

配置java-web运行环境

java环境配置

  • 官网下载linux系统上jdk的安装包.tar.gz

  • 在Linux的/usr/local目录下新建文件夹java

    cd /usr/local
    mkdir java
    
  • 通过WinSCP或其他工具将jdk安装包上传到java文件中

  • 进入java目录下 cd /usr/local/java

  • 解压jdk安装包 tar xvf jdk安装包的名称

  • 修改系统环境变量 vi /etc/profile

  • 在/etc/profile文件末尾添加这几行,按esc退出编辑模式后,输入 :wq保存并退出

    JAVA_HOME=/usr/local/java/jdk解压出的文件夹名
    PATH=$PATH:$JAVA_HOME/bin
    CLASSPATH=.:JAVA_HOME/lib
    export JAVA_HOME PATH CLASSPATH
    
  • 重新加载,使配置生效 source /etc/profile

  • 查看jdk是否安装成功输入命令java -version

    • 若成功会显示java version字样
  • jdk安装完毕

tomcat环境配置

  • 官网下载tomcat安装包.tar.gz

  • 安装和jdk差不多,在Linux的/usr/local目录下新建文件夹tomcat

    cd /usr/local
    mkdir tomcat
    
  • 进入tomcat目录下 cd /usr/local/tomcat

  • 解压tomcat安装包 tar xvf tomcat安装包名称

  • 为tomcat配置环境,修改系统环境变量 vi /etc/profile

    #该配置是基于已经配置了jdk的基础上
    JAVA_HOME=/usr/local/java/jdk解压出的文件夹名
    CATALINA_HOME=/usr/local/tomcat/tomcat解压出的文件夹名称
    PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
    CLASSPATH=.:JAVA_HOME/lib:CATALINA_HOME/lib
    export JAVA_HOME CATALINA_HOME PATH CLASSPATH
    
  • 重新加载,使配置生效 source /etc/profile

  • tomcat的安装完毕

  • /tomcat解压出的文件夹/bin

  • 在 CentOS 7 中设置 Tomcat 开机自启动

    • 假设Tomcat的安装路径为/usr/local/tomcat/

    • 1、为tomcat添加启动参数

      • catalina.sh在执行的时候会调用同级路径下的setenv.sh来设置额外的环境变量,因此在/usr/local/tomcat/bin路径下创建setenv.sh文件,内容如下:
      # 在tomcat目录下面的bin目录下面创建setenv.sh文件,
      # 因为catalina.sh在执行的时候会调用同级路径下的setenv.sh来设置额外的环境变量。
      export CATALINA_HOME=/usr/local/tomcat
      export CATALINA_BASE=/usr/local/tomcat
      #add tomcat pid
      CATALINA_PID="$CATALINA_BASE/temp/tomcat.pid" 
      #add java opts
      JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
      
    • 2、编写 tomcat.service 文件

      • /usr/lib/systemd/system路径下添加tomcat.service文件,内容如下:
      # 在/usr/lib/systemd/system路径下添加tomcat.service文件,内容如下:
      [Unit]
      Description=Tomcat
      After=syslog.target network.target remote-fs.target nss-lookup.target
       
      [Service]
      Type=forking
      Environment="JAVA_HOME=/usr/local/java/jdk1.8.0_221"
      PIDFile=/usr/local/tomcat/temp/tomcat.pid
      ExecStart=/usr/local/tomcat/bin/startup.sh
      ExecReload=/bin/kill -s HUP $MAINPID
      ExecStop=/bin/kill -s QUIT $MAINPID
      PrivateTmp=true
       
      [Install]
      WantedBy=multi-user.target
      
    • 3、将 tomcat 加入服务管理

      • 设置权限:chmod 754 tomcat.service
      • 启动关闭服务,设置开机启动:
      # 开机启动 
      systemctl enable tomcat.service
      # 禁止开机启动
      systemctl disable tomcat.service
      # 启动服务
      systemctl start tomcat.service
      # 查看服务
      systemctl status tomcat.service
      # 关闭服务
      systemctl stop tomcat.service
      # 重新启动
      systemctl restart tomcat.service
      

Mysql环境配置

  • 运用命令检查系统中是否存在mysql

    rpm -qa | grep mysql
    
    • 如若存在,则执行以下命令删除
      • rpm -e 软件名 这里的软件名必须包含软件的版本信息,如rpm -e mariadb-libs-5.5.52-1.el7.x86_64。一般使用此命令即可卸载成功。
      • rpm -e --nodeps 软件名 卸载不成功时使用此命令强制卸载
    • 若存在,删除mysql的配置文件
      • 先用 find / -name mysql 寻找出所用的配置文件,根据需求用 rm -rf 文件名来依次删除
  • 删除MariaDB的文件

    • 由于MySQL在CentOS7中收费了,所以已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,而安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB.
    • 使用rpm 命令查找出要删除的mariadb文件:rpm -pa | grep mariadb
    • 可能的显示结果:mariadb-libs-5.5.56-2.el7.x86_64
    • 删除上面的程序:rpm -e mariadb-libs-5.5.56-2.el7.x86_64
      • 若删除失败,则使用强制删除:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
  • 安装mysql

    • centos的yum 源中默认是没有mysql的,所以我们需要先去官网下载mysql的repo源并安装

    • mysql官网下载链接:mysql repo下载地址

    • 用WinSCP或putty等其他软件将下载好的repo文件上传到CentOS的/usr/local/mysql文件夹下

    • 安装yum repo文件并更新yum缓存:

      • /usr/local/mysql文件夹下执行rpm -ivh 下载好的repo文件的文件名
    • 执行结果:

      • 会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repomysql-community-source.repo
    • 更新 yum 命令:

      • 先执行yum clean all清除缓存,在执行yum makecache来添加缓存。
    • 使用yum安装mysql

      • 查看mysql yum仓库中的mysql版本:yum repolist all | grep mysql

      • 使用 yum-config-manager 命令修改相应的版本为启用状态最新版本为禁用状态

      • 例如:yum-config-manager --disable mysql80-community

        yum-config-manager --enable mysql57-community

      • 或者可以编辑mysql repo文件,将相应版本下的enabled改成 1 即可:cat /etc/yum.repos.d/mysql-community.repo

    • 最后,安装mysql的命令:yum install mysql-community-server

  • 开启mysql服务:systemctl start mysqld.service

  • 获取初始密码来登录mysql:

    • mysql在安装后会创建一个root@locahost账户,并且把初始的密码放到了/var/log/mysqld.log文件中
    • cat /var/log/mysqld.log | grep password
  • 使用初始密码登录mysql:mysql -u root -p

  • 修改初始密码(必须含有数字,小写和大写字母,特殊字符):ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

  • 创建新用户、授权、远程登录(不要直接使用root账户登录)

    • 创建用户: CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
    • 授权远程登录:GRANT ALL ON *.* TO '用户名'@'%';
    • 用本地电脑客户端(sqlyog或其他)进行登录
  • 若登录用户过程报plugin caching_sha2_password错误

    • 是因为MySQL8.0密码策略默认为caching_sha2_password。与5.7有所不同。

    • 进入MySQL数据库使用基本数据库:use mysql;

    • 查询user表信息:select user,host,plugin from user;

      发现确实是caching_sha2_password
      +------------------+-----------+-----------------------+
      | user             | host      | plugin                |
      +------------------+-----------+-----------------------+
      | yun              | %         | caching_sha2_password |
      | mysql.infoschema | localhost | caching_sha2_password |
      | mysql.session    | localhost | caching_sha2_password |
      | mysql.sys        | localhost | caching_sha2_password |
      | root             | localhost | caching_sha2_password |
      +------------------+-----------+-----------------------+
      
    • 修改的操作:

      • ALTER USER '用户名'@'%' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;
      • ALTER USER '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
      • FLUSH PRIVILEGES;
    • 再次登录即可

  • 查看编码:show variables like '%character%';

    • MySQL8.0默认就是utf8mb4编码,无需更改。
  • 至此 Mysql 配置完毕;

Redis的环境配置

  • Redis的官方下载

  • 准备:由于redis的安装需要gcc依赖,用yum安装gcc依赖:yum install gcc,遇到选择,输入y即可。

  • 下载并解压redis安装包

    • /usr/local/文件夹下执行 wget wget http://download.redis.io/releases/redis-5.0.5.tar.gz若需要其他指定版本去上文的官方下载页面寻找)
    • 解压:tar -zxvf redis-5.0.5.tar.gz
  • 安装:

    • 安装完成后进入到解压目录:cd redis-5.0.5
    • 执行make编译Redis:make MALLOC=libc
      • 注意:make命令执行完成编译后,会在src目录下生成6个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-rdb、redis-sentinel
    • 编译并安装redis:先make MALLOC=libc 然后 make install
  • 直接启动redis:

    • 进入redis的src目录下:cd src
    • 直接启动redis:./redis-server,按ctrl+c可以退出。
  • 以后台方式启动redis:

    • 修改redis.conf文件:将 daemonize no修改为 daemonize yes (在redis的安装目录中)
    • 指定redis.conf文件启动:./redis-server ../redis.conf(在redis安装目录的src下执行)
    • 关闭redis进程:
      • 首先使用ps -aux | grep redis查看redis进程
      • 使用kill命令杀死进程:kill -9 redis的进程pid
  • 设置redis开机启动:

    • 在redis安装目录下执行 ./utils/install_server.sh即可(一路按回车快速配置)
    • Redis服务查看、开启、关闭:
      • 通过ps -ef|grep redis命令查看Redis进程
      • 开启Redis服务操作通过/etc/init.d/redis_6379 start命令,也可通过service redis_6379 start
      • 关闭Redis服务操作通过/etc/init.d/redis_6379 stop命令,也可通过service redis_6379 stop
    • 注意:用脚本安装完后,要修改redis的配置文件需要在 /etc/redis目录下的6379.conf中修改
  • redis.conf 的配置信息:

    01、daemonize 如果需要在后台运行,把该项改为yes
    02、pidfile 配置多个pid的地址 默认在/var/run/redis.pid
    03、bind 绑定ip,设置后只接受来自该ip的请求
    04、port 监听端口,默认是6379
    05、loglevel 分为4个等级:debug verbose notice warning
    06、logfile 用于配置log文件地址
    07、databases 设置数据库个数,默认使用的数据库为0
    08、save 设置redis进行数据库镜像的频率。
    09、rdbcompression 在进行镜像备份时,是否进行压缩
    10、dbfilename 镜像备份文件的文件名
    11、Dir 数据库镜像备份的文件放置路径
    12、Slaveof 设置数据库为其他数据库的从数据库
    13、Masterauth 主数据库连接需要的密码验证
    14、Requriepass 设置 登陆时需要使用密码
    15、Maxclients 限制同时使用的客户数量
    16、Maxmemory 设置redis能够使用的最大内存
    17、Appendonly 开启append only模式
    18、Appendfsync 设置对appendonly.aof文件同步的频率(对数据进行备份的第二种方式)
    19、vm-enabled 是否开启虚拟内存支持 (vm开头的参数都是配置虚拟内存的)
    20、vm-swap-file 设置虚拟内存的交换文件路径
    21、vm-max-memory 设置redis使用的最大物理内存大小
    22、vm-page-size 设置虚拟内存的页大小
    23、vm-pages 设置交换文件的总的page数量
    24、vm-max-threads 设置VM IO同时使用的线程数量
    25、Glueoutputbuf 把小的输出缓存存放在一起
    26、hash-max-zipmap-entries 设置hash的临界值
    27、Activerehashing 重新hash
    

防火墙操作

  • CentOS7.x与CentOS6.x的防火墙不同
    • CentOS7.x为firewall ,firewall 能够允许哪些服务可用,那些端口可用,属于更高一层的防火墙
    • CentOS6.x为iptables,iptables用于过滤数据包,属于网络层防火墙

firewall常见基本指令

  • 系统配置目录:/usr/lib/firewalld/services

    • 目录中存放定义好的网络服务和端口参数,系统参数,不能修改。
  • 用户配置目录: /etc/firewalld/

  • 如何自定义添加端口

    • 用户可以通过修改用户配置文件的方式添加端口,也可以通过命令的方式添加端口,注意:修改的内容会在/etc/firewalld/目录下的配置文件中体现。

    • 命令的方式添加端口:firewall-cmd --permanent --add-port=9527/tcp

      • 参数介绍:
      • firewall-cmd:是Linux提供的操作firewall的一个工具
      • –permanent:表示设置为持久
      • –add-port:标识添加的端口
    • 修改配置文件的方式添加端口

      • 修改/etc/firewalld/zones/public.xml

      • 举例:

        <?xml version="1.0" encoding="utf-8"?>
        <zone>  
            <short>Public</short>  
            <description>For use in public areas.</description> <br>
            <rule family="ipv4">
                <!-- 开放通源ip为122.10.70.234,端口514 -->
                <source address="122.10.70.234"/>    
                <port protocol="udp" port="514"/>   
                <accept/>  
            </rule>
            <rule family="ipv4">
                <!-- 开放通源ip为123.60.255.14,端口10050-10051,协议tcp -->
                <source address="123.60.255.14"/>    
                <port protocol="tcp" port="10050-10051"/>    
                <accept/>  
            </rule> 
            <rule family="ipv4">
                <!-- 放通任意ip访问服务器的9527端口 -->
                <port protocol="tcp" port="9527"/>    
                <accept/>  
            </rule>
        </zone>
        
  • 重启、关闭、开启、firewalld.serverice 服务:

    • 重启:Service firewalld restartsystemctl restart firewalld
    • 开启:Service firewalld startsystemctl start firewalld
    • 关闭:Service firewalld stopsystemctl stop firewalld
    • 查看运行状态:systemctl status firewalldfirewall-cmd --state
    • 关闭开机启动:systemctl disable firewalld
    • 打开开机启动: systemctl enable firewalld
    • 查看防火墙规则:firewall-cmd --list-all

切换为iptables防火墙

  • 若不想用firewall,可以切换或原本的iptables防火墙。

  • 切换到iptables首先应该关掉默认的firewalld,然后安装iptables服务

  • 关闭firewall,禁止firewall开机启动:service firewalld stop systemctl disable firewalld.service

  • 安装iptables防火墙:yum install iptables-services

  • 编辑iptables防火墙配置:vi /etc/sysconfig/iptables

    • 举例:开放了22、80、3306端口

      Firewall configuration written by system-config-firewall  Manual customization of this file is not recommended. 
      *filter  :INPUT ACCEPT [0:0]  :FORWARD ACCEPT [0:0]  :OUTPUT ACCEPT [0:0] 
      -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
      -A INPUT -p icmp -j ACCEPT  -A INPUT -i lo -j ACCEPT 
      -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 
      -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 
      -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 
      -A INPUT -j REJECT --reject-with icmp-host-prohibited 
      -A FORWARD -j REJECT --reject-with icmp-host-prohibited 
      COMMIT
      
  • 开启iptables防火墙:service iptables start

  • 设置iptables防火墙开机启动:systemctl enable iptables.service

iptables的规则的写法

  • iptables定义规则的方式比较复杂,格式:iptables [-t table] COMMAND chain CRETIRIA -j ACTION

    • -t table :3个filter nat mangle
    • COMMAND:定义如何对规则进行管理
    • chain:指定你接下来的规则到底是在哪个链上操作的,当定义策略的时候,是可以省略的
    • CRETIRIA:指定匹配标准
    • -j ACTION:指定如何进行处理
  • 比如:

  • 不允许172.16.0.0/24的进行访问。iptables -t filter -A INPUT -s 172.16.0.0/16 -p udp --dport 53 -j DROP

  • 当然你如果想拒绝的更彻底:iptables -t filter -R INPUT 1 -s 172.16.0.0/16 -p udp --dport 53 -j REJECT

  • 注意:规则的次序非常关键,谁的规则越严格,应该放的越靠前,而检查规则的时候,是按照从上往下的方式进行检查的。

  • 其他举例:

    # 允许已建立的或相关连的通行
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    # 允许本地回环接口
    -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
    # 允许本机对外访问 
    -A OUTPUT -j ACCEPT
    # 允许访问SSH端口,如果端口修改了可以更改相应端口号 
    -A INPUT -p tcp --dport 22 -j ACCEPT
    # 允许访问80(HTTP)端口 
    -A INPUT -p tcp --dport 80 -j ACCEPT 
    # 允许访问FTP端口:21、20 
    -A INPUT -p tcp --dport 21 -j ACCEPT 
    -A INPUT -p tcp --dport 20 -j ACCEPT 
    # 允许访问161(SNMP)端口:
    -A INPUT -p udp --dport 161 -j ACCEPT
    # 禁止其他未允许的规则访问 
    -A INPUT -j REJECT -A FORWARD -j REJECT
    
  • 保存并使用以下命令重启iptables:service iptables restart

CentOS7常用指令

文件和目录操作

命令作用
cd /home进入 ‘/home’ 目录
cd …返回上一级目录
cd …/…返回上两级目录
cd -返回上次所在目录
cp file1 file2将file1复制为file2
cp -a dir1 dir2复制一个目录
cp -a /tmp/dir1 .复制‘/tmp/dir1’目录到当前工作目录(.表示当前目录)
ls查看目录中的文件
ls -a显示隐藏文件
ls -l显示详细信息
ls -lrt按时间显示文件
l表示详细列表,r表示反向排序,t表示按时间排序)
pwd显示工作目录路径
mkdir dir1创建 ‘dir1’ 目录
mkdir dir1 dir2同时创建两个目录
mkdir -p /tmp/dir1/dir2创建一个目录树
mv dir1 dir2移动/重命名一个目录
rm -f file1删除 ‘file’
rm -rf dir1删除 ‘dir1’ 目录及其子目录内容

查看文件内容

命令作用
cat file1从第一个字节开始正向查看文件内容
head -2 file1查看 ‘file1’ 文件的头两行
more file1查看一个长文件的内容
tac file1从最后一行开始反向查看一个文件内容
tail -3 file1查看一个文件的最后三行
vi file1打开并浏览文件

文本内容处理

命令解析
grep str /tmp/test在文件 ‘/tmp/test’ 中查找 “str”
grep ^str /tmp/test在文件 ‘/tmp/test’ 中查找以 “str” 开始的行
grep [0-9] /tmp/test查找 ‘/tmp/test’ 文件中所有包含数字的行
grep str -r /tmp/*在目录 ‘/tmp’ 及其子目录中查找 “str”
diff file1 file2找出两个文件的不同处
sdiff file1 file2以对比的方式显示两个文件的不同
  • vi file
操作解析
i进入编辑文本模式
Esc退出编辑文本模式
:w保存当前修改
:q不保存退出vi
:wq保存当前修改并退出vi

查询操作

命令解析
find / -name file1从 ‘ / ’ 开始进入根文件系统查找文件和目录
find / -user user1查找属于用户 ‘user1’ 的文件和目录
find /home/user1 -name *.bin在目录 ‘/ home/user1’ 中查找以 ‘.bin’ 结尾的文件
find /usr/bin -type f -atime +100查找在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10查找在10天内被创建或者修改过的文件
locate *.ps寻找以 ‘.ps’ 结尾的文件,先运行 ‘updatedb’ 命令
find -name ‘*.[ch]’ | xargs grep -E ‘expr’在当前目录及其子目录所有.c和.h文件中查找 ‘expr’
find -type f -print0 | xargs -r0 grep -F ‘expr’在当前目录及其子目录的常规文件中查找 ‘expr’
find -maxdepth 1 -type f | xargs grep -F ‘expr’在当前目录中查找 ‘expr’

压缩、解压

命令解析
bzip2 file1压缩 file1
bunzip2 file1.bz2解压 file1.bz2
gzip file1压缩 file1
gzip -9 file1最大程度压缩 file1
gunzip file1.gz解压 file1.gz
tar -cvf archive.tar file1把file1打包成 archive.tar(-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数)
tar -cvf archive.tar file1 dir1把 file1,dir1 打包成 archive.tar
tar -tf archive.tar显示一个包中的内容
tar -xvf archive.tar释放一个包
tar -xvf archive.tar -C /tmp把压缩包释放到 /tmp目录下
zip file1.zip file1创建一个zip格式的压缩包
zip -r file1.zip file1 dir1把文件和目录压缩成一个zip格式的压缩包
unzip file1.zip解压一个zip格式的压缩包到当前目录
unzip test.zip -d /tmp/解压一个zip格式的压缩包到 /tmp 目录

yum安装器

命令解析
yum -y install [package]下载并安装一个rpm包
yum localinstall [package.rpm]安装一个rpm包,使用你自己的软件仓库解决所有依赖关系
yum -y update更新当前系统中安装的所有rpm包
yum update [package]更新一个rpm包
yum remove [package]删除一个rpm包
yum list列出当前系统中安装的所有包
yum search [package]在rpm仓库中搜寻软件包
yum clean [package]清除缓存目录(/var/cache/yum)下的软件包
yum clean headers删除所有头文件
yum clean all删除所有缓存的包和头文件
yum makecache添加缓存的包和文件

网络相关

命令解析
ifconfig eth0显示一个以太网卡的配置
ifconfig eth0 192.168.1.1 netmask 255.255.255.0配置网卡的IP地址
ifdown eth0禁用 ‘eth0’ 网络设备
ifup eth0启用 ‘eth0’ 网络设备
iwconfig eth1显示一个无线网卡的配置
iwlist scan显示无线网络
ip addr show显示网卡的IP地址

系统相关

命令解析
su -切换到root权限(与su有区别)
shutdown -h now关机
shutdown -r now重启
top罗列使用CPU资源最多的linux任务 (输入q退出)
pstree以树状图显示程序
man ping查看参考手册(例如ping 命令)
passwd修改密码
df -h显示磁盘的使用情况
cal -3显示前一个月,当前月以及下一个月的月历
cal 10 1988显示指定月,年的月历
date –date ‘1970-01-01 UTC 1427888888 seconds’把一相对于1970-01-01 00:00的秒数转换成时间

systemctl命令

#开机运行服务:
systemctl enable *.service 
#取消开机运行
systemctl disable *.service 
#查看服务是否开机启动
systemctl is-enabled *.service
#启动服务
systemctl start *.service 
#停止服务
systemctl stop *.service 
#重启服务
systemctl restart *.service 
#重新加载服务配置文件
systemctl reload *.service 
#查询服务运行状态
systemctl status *.service 
#查看已启动的服务列表
systemctl list-unit-files|grep enabled
#显示启动失败的服务
systemctl --failed
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值