安装配置开发环境

  • JDK
  • Mysql
  • Redis
  • PostgreSQL
  • Tomcat
  • Nginx
  • Gradle

JDK

下载

下载安装包,上传解压,配置环境变量
jdk下载链接: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

配置

  1. # 查看是否安装过java,
  2. ps -aux|grep java
  3. #根据上面查询出的列表进行删除
  4. rpm -e --nodeps 列表
  5. #查询是否全部删除完毕
  6. rpm -qa | grep java
  7. # 解压至 、usr/local/jdk 目录
  8. tar -zxvf jdk-1.8.tar.gz -C /usr/local
  9. mv /usr/local/jdk-1.8 /usr/local/jdk
  10. #配置环境变量
  11. vim /etc/profile
  12. # 文件末尾追加下面内容 shift+g 跳到文件末尾
  13. # JAVA_HOME PATH
  14. # JAVA_HOME就是你的解压路径
  15. export JAVA_HOME=/usr/local/jdk/jdk8
  16. export PATH=$PATH:$JAVA_HOME/bin
  17. #,配置完毕之后一定要执行更新环境变量
  18. source /etc/profile
  19. #查看是否安装成功
  20. java -version

yum源方式安装

(此方法不需要配置环境变量)

  1. #查看yum库中的java安装包
  2. yum -y list java*
  3. #安装需要的jdk版本的所有java程序
  4. yum -y install java-1.8.0-openjdk.x86_64 1:1.8.0.282.b08-1.el7_9
  5. #(安装完之后,默认的安装目录是在)
  6. /usr/lib/jvm/java-1.8.0-openjdk.x86_64 1:1.8.0.282.b08-1.el7_9)
  7. #查看java版本
  8. java -version

Tomcat

下载

下载安装包,上传解压,启动

配置

  1. # 解压
  2. tar -zxvf "包名"
  3. # 重命名
  4. mv "解压名" tomcat9
  5. # 执行bin目录下的startup.sh进行启动
  6. tomcat9/bin/startup.sh
  7. # 查看8080是否能够看到Tomcat页面

Mysql

下载

  1. #清除Linux系统自带的mariadb
  2. rpm -qa|grep mariadb
  3. mariadb-libs-5.5.56-2.el7.x86_64
  4. //强力删除
  5. rpm -e --nodeps mariadb-libs
  6. rpm -qa|grep mariadb
  7. #安装相对应版本的mysql
  8. wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
  9. #如果已经安装过mysql8的,可以在查询之后执行删除
  10. rpm -qa | grep -i mysql
  11. yum remove mysql80-community-release-el8-1.noarch
  12. #再执行安装需要的版本
  13. rpm -ivh mysql80-community-release-el7-3.noarch.rpm
  14. #查询安装包
  15. yum repolist all|grep mysql
  16. mysql57-community/x86_64 MySQL 5.7 Community Server disabled
  17. mysql80-community/x86_64 MySQL 8.0 Community Server enabled: 113
  18. mysql80-community-source MySQL 8.0 Community Server - disabled
  19. ……
  20. #默认为80版本,切换为57版本启动
  21. yum-config-manager --disable mysql80-community
  22. yum-config-manager --enable mysql57-community
  23. #安装启动mysql
  24. yum install mysql-community-server

配置

  1. # 启动
  2. systemctl start mysqld.service
  3. #随机生成初始密码
  4. grep 'temporary password' /var/log/mysqld.log
  5. #查看启动状态
  6. systemctl status mysqld.service
  7. # 如果随机初始密码无效,想要重置密码,
  8. 修改配置文件免密码登陆mysql
  9. vim /etc/my.cnf
  10. #在[mysqld]后添加语句并保存文件
  11. skip-grant-tables
  12. #重启mysql服务
  13. service restart mysqld.service
  14. #执行登录
  15. mysql -u root -p进入空格键跳过密码输入
  16. #刷新权限
  17. flush privileges
  18. #设置密码验证等级
  19. set global validate_password_policy=LOW
  20. #设置用户名密码
  21. alter user 'root'@'localhost' identified by '123456';

Redis

下载

下载安装包,上传虚拟机
解压

tar -zxvf redis-6.0.7.tar.gz

  1. #查看是否安装gcc
  2. yum install gcc -y gcc -v
  3. #进入解压文件,开始编译
  4. cd /usr/local/redis-6.0.7 make
  5. #命令执行完毕会生成src文件夹,进入执行编译
  6. cd src && make install
  7. #测试是否安装
  8. ./redis-server
  9. # 查看是否出现redis banner

配置Redis

后台进程启动

  1. # 修改/usr/local/redis-6.0.7/redis.conf
  2. vim /usr/local/redis-6.0.7/redis.conf
  3. # 大概225行,修改 daemonize no 将值改为yes 保存退出
  4. #指定以conf文件进行启动redis服务
  5. cd /usr/local/redis-6.0.7/src
  6. ./redis-server /root/redis-6.0.7/redis.conf

设置redis远程连接

  1. #关闭防火墙或者放行端口6379
  2. service firewalld stop
  3. systemctl disable firewalld
  4. #查询端口是否开放
  5. firewall-cmd --query-port=8080/tcp
  6. #放行端口6379
  7. firewall-cmd --add-port=6379/tcp --permanent
  8. firewall-cmd --reload
  9. #配置bind地址
  10. vim /usr/local/redis-6.0.7/redis.conf
  11. #69行,注释掉或者修改为0.0.0.0

设置连接密码

  1. vim /usr/local/redis-6.0.7/redis.conf
  2. #789行修改密码
  3. requirepass 123456
  4. #执行更新重新启动
  5. ./redis-server /root/redis-6.0.7/redis.conf

设置开机自启动

#关闭redis服务
ps -ef | grep redis
# 杀死进程
kill -9 pid
#查看redis-6.0.7/utils目录下的启动脚本
vim /usr/local/redis-6.0.7/util/redis_init_script

#查看 /usr/local/bin 目录是否存在redis-server执行文件
#在/etc目录下新建redis目录
mkdir -p /etc/redis
#将/redis-6.0.7/redis.conf 文件复制到/etc/redis目录下,并命名为6379.conf
cp redis.conf /etc/redis/6379.conf
#将redis的启动脚本复制一份放到/etc/init.d目录下
cp redis_init_script /etc/init.d/redisd
#设置开机自启动
cd /etc/init.d/
chkconfig redisd on

#使用vim编辑redisd文件,在第一行加入如下两行注释,保存退出
#!/bin/sh
# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

#上面添加的注释的意思是:
#redis服务必须在运行级2,3,4,5下被启动或关闭,
#启动的优先级是90,关闭的优先级是10。


#测试启动与关闭
service redisd start
service redisd stop

Redis脚本启动和停止出现的错误

edis-(error) NOAUTH Authentication required.
# 解决方法
修改redis服务脚本,加入如下所示的红色授权信息即可:
vi /etc/init.d/redisd
在16行定义自己设置的密码
REDISPASD:123456
在40行引用即可
 $CLIEXEC -a $REDISPASD  -p $REDISPORT shutdown
 #使用kill杀死进程,重新使用service脚本进行重启


 #redis本地访问错误
 #(error) NOAUTH Authentication required
 在连接的时候输入 auth 密码就可进入redis连接

PostgreSQL

下载**

#下载
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

#安装Postgresql-12服务
sudo yum install -y postgresql12-server

#初始化数据库
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb

#设置服务开机启动
sudo systemctl enable postgresql-12

#启动Postgresql-12服务
sudo systemctl start postgresql-12

配置

配置远程访问

sudo sed -i “s/#listen_addresses = ‘localhost’/listen_addresses = ‘*’/“ /var/lib/pgsql/12/data/postgresql.conf
sudo sed -i ‘83ihost all all 0.0.0.0/0 md5’ /var/lib/pgsql/12/data/pg_hba.conf

切换用户修改密码

su - postgres
psql -c “alter user postgres with password ‘sjscp@postgres..’”
sudo systemctl restart postgresql-12

Nginx

准备环境

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

yum install gcc-c++

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

下载

手动下载
安装包,地址:https://nginx.org/en/download.html
上传虚拟机
上传至 /usr/local 文件夹
解压

tar -zxvf nginx-1.19.2.tar.gz cd nginx


配置

在nginx 根目录下执行

./configure

make

make install

#查找安装路径
whereis nginx

常用命令

cd /usr/local/nginx/sbin/

./nginx  启动

./nginx -s stop  停止

./nginx -s quit  安全退出

./nginx -s reload  重新加载配置文件

ps aux|grep nginx  查看nginx进程

启动之后,访问ip:80查看是否成功启动

如果无法访问,请检查防火墙或者端口是否开放

参考命令:
https://www.yuque.com/docs/share/e5f86bc7-6da3-4fef-9f17-5211c08cbddc?# 《开放端口&防火墙》

配置

设置开自启动

# 建立自启动脚本
vi /etc/init.d/nginx

添加脚本内容

nginx=”/usr/sbin/nginx” 修改成nginx执行程序的路径。 NGINX_CONF_FILE=”/etc/nginx/nginx.conf” 修改成配置文件的路径。

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  NGINX is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/etc/nginx/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

make_dirs() {
   # make required directories
   user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
   if [ -n "$user" ]; then
      if [ -z "`grep $user /etc/passwd`" ]; then
         useradd -M -s /bin/nologin $user
      fi
      options=`$nginx -V 2>&1 | grep 'configure arguments:'`
      for opt in $options; do
          if [ `echo $opt | grep '.*-temp-path'` ]; then
              value=`echo $opt | cut -d "=" -f 2`
              if [ ! -d "$value" ]; then
                  # echo "creating" $value
                  mkdir -p $value && chown -R $user $value
              fi
          fi
       done
    fi
}

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    configtest || return $?
    stop
    sleep 1
    start
}

reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $prog -HUP
    retval=$?
    echo
}

force_reload() {
    restart
}

configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
            ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        exit 2
esac

设置文件权限

(解释:a+x==>all user can execute 所有用户可执行)的意思)

chmod a+x /etc/init.d/nginx

  • 可以对脚本进行操作
    # /etc/init.d/nginx start      启动服务
    # /etc/init.d/nginx stop       停止服务  
    # /etc/init.d/nginx restart    重启服务
    # /etc/init.d/nginx status     查看服务的状态
    # /etc/init.d/nginx reload     刷新配置文件
    

使用chkconfig对脚本进行管理

chkconfig—add /etc/init.d/nginx #可以直接启动服务 service nginx start service nginx stop

设置终端模式开机启动

chkconfig nginx on

Gradle

下载

gradle下载地址:https://gradle.org/releases/

配置

# 开始解压
 unzip gradle-6.7.1-bin.zip
# 如果提示unzip不存在,安装unzip
yum install unzip
# 移动到 /usr/local/gradle 目录
mv gradle-6.7.1 /usr/local/gradle
# 将gradle加入环境
vi /etc/profile
# 最末尾追加
export GRADLE_HOME=/usr/local/gradle
export PATH=$PATH:$GRADLE_HOME/bin
# 刷新配置
source /etc/profile
# 验证是否成功
gradle