Comenzando desde cero: creando un entorno de implementación de aplicaciones Java en Alibaba Cloud Services

Comenzando desde cero: creando un entorno de implementación de aplicaciones Java en Alibaba Cloud Services

Preparación

Descargue e instale FinalShell para facilitar la conexión local a los servicios en la nube y cargar archivos

Dirección de descarga de FinalShell: https://www.hostbuf.com/c/131.html

1. instalación e implementación de jdk

Descarga oficial de jdk: https://www.oracle.com/java/technologies/downloads/

1.1 Desinstalar el jdk que viene con el sistema

Compruebe el jdk que viene con el sistema: rpm -qa | grep jdk

Desinstale el jdk integrado: rpm -e --nodeps JDK para desinstalar

1.2 Subir jdk y descomprimir jdk

Cree un directorio de instalación (solía colocarse en el directorio /usr/local): mkdir java

Cargue el directorio creado por el paquete comprimido jdk

Descomprimir el paquete comprimido jdk: tar -zxvf paquete comprimido jdk

1.3 Configurar variables de entorno jdk

Editar archivo de perfil: vim /etc/profile

Agregue la siguiente configuración a la última línea

JAVA_HOME=/usr/local/java/jdk1.8.0_371
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

Deje que el archivo de configuración surta efecto: source /etc/profile

Dos, instalación de la base de datos mydql5.7

Dirección de descarga de Mysql: https://downloads.mysql.com/archives/community/

2.1 Desinstalar mysql, Mariadb que viene con el sistema

Ver el mysql que viene con el sistema: rpm -qa | grep mysql

Desinstale el mysql integrado: rpm -e --nodeps nombre de archivo

Consultar todas las carpetas mysql: whereis mysql y find / -name mysql

Eliminar el directorio relativo: rm -rf la ruta absoluta del archivo

2.2 Crear grupo de usuarios mysql y usuario mysql

Compruebe si el grupo mysql y el usuario existen: cat /etc/group | grep mysql o cat /etc/passwd | grep mysql

Crear un grupo de usuarios de mysql: groupadd mysql

Cree un usuario llamado mysql y únase al grupo de usuarios de mysql: useradd -g mysql mysql

Modificar contraseña de usuario: passwd mysql

2.3 Cargue y descomprima el paquete comprimido de mysql y autorice al usuario de mysql

Descompresión: tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

授权: chown mysql.mysql /usr/local/mysql -R

2.4 Agregue el archivo de configuración my.cnf en el directorio /etc
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=/usr/local/mysql/mysql-5.7.31
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysql-5.7.31/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB 
lower_case_table_names=1
max_allowed_packet=16M
2.5 Instalación e inicialización

初始化mysql:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.31/mysql/ --datadir=/usr/local/mysql/mysql-5.7.31/ datos/

如果出现./bin/mysqld: error al cargar bibliotecas compartidas: libaio.so.1: no se puede abrir el archivo de objeto compartido: no existe tal archivo o directorio

Necesitas instalar libaio.so.1: yum install libaio

Copie el archivo: cp ./support-files/mysql.server /etc/init.d/mysqld

Autorización:

chown 777 /etc/my.cnf

chmod +x /etc/init.d/mysqld

Reinicie el servicio mysql: /etc/init.d/mysqld restart

Conexión suave (iniciar sesión en mysql en cualquier directorio): ln -s /usr/local/mysql/mysql-5.7.31/bin/mysql /usr/bin/mysql

2.6 Establecer el inicio

chkconfig --nivel 35 mysqld en

chkconfig --list mysqld

chmod +x /etc/rc.d/init.d/mysqld

chkconfig --añadir mysqld

estado del servicio mysqld

2.7 Configurar variables de entorno
JAVA_HOME=/usr/local/java/jdk1.8.0_11
MYSQL_HOME=/usr/local/mysql/mysql-5.7.31
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin:$MYSQL_HOME/bin
export PATH JAVA_HOME CLASSPATH
2.8 Datos de inicio de sesión

Obtenga la contraseña de inicialización: **cat /root/.mysql_secret**

Inicie sesión en la base de datos: mysql -uroot -p

Restablecer contraseña: establezca CONTRASEÑA = CONTRASEÑA ('root777');

Privilegios de descarga: privilegios de descarga;

Reemplace la base de datos: use mysql;

Ver la dirección de usuario de la base de datos: seleccione host, usuario de usuario;

Modificar los derechos de acceso del usuario root: actualizar el conjunto de usuarios host='%' where user='root';

2.9 Crear un nuevo usuario

Eliminar usuario: **DROP USER 'goryleee'@'%'; **

Crear un usuario: CREAR USUARIO 'nombre de usuario'@'host' IDENTIFICADO POR 'contraseña';

Autorización: GRANT ALL ON .TO 'pig'@'%' o GRANT SELECT, INSERT ON test.user TO 'pig'@'%';

Revocar privilegios de usuario: REVOCAR privilegio ON nombre de base de datos.nombre de tabla DESDE 'nombre de usuario'@'host';

Modificar contraseña de usuario: SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

Ver permisos de usuario: **MOSTRAR CONCESIONES PARA 'pig'@'%'; **

3. Instalación Redis

Dirección de descarga: http://download.redis.io/releases

3.1 Subir y descomprimir redis

tar -zvxf redis-6.2.5.tar.gz

3.2 Compilar e instalar (ingresar al directorio raíz de redis)

ejecutar: hacer

Ingrese src, ejecute: make install

Inicie el servicio: ./redis-server …/redis.conf

3.3 Establecer ejecución en segundo plano y modificar contraseña

Modifique el archivo de configuración: vim redis.conf

// 注释监听ip,不然本地无法连接redis
#bind 127.0.0.1
// 修改保护模式,不修改保护模式也是只能内网访问的 protected-mode yes 改成 protected-mode no
protected-mode no
// 设置密码,这里建议设置密码,否则可能会发生一些预料不到的事情,因为6379端口有漏洞
requirepass "你的密码"
// daemonize no 改为yes 后台一直运行
daemonize yes
3.4 Agregue redis al servicio systemctl y configúrelo para que se inicie automáticamente

Cree un nuevo redis.service en /etc/systemd/system

Donde /usr/local/redis/redis-6.2.5 es la ruta donde instaló redis

[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/redis-6.2.5/src/redis-server /usr/local/redis/redis-6.2.5/redis.conf
ExecReload=/usr/local/redis/redis-6.2.5/src/redis-server -s reload
ExecStop=/usr/local/redis/redis-6.2.5/src/redis-server -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Vuelva a cargar el archivo de configuración del servicio: systemctl daemon-reload

Iniciar redis: systemctl iniciar redis

Ver el estado del servicio redis: estado del servicio redis

Establecer inicio de arranque: systemctl enable redis.service

systemctl disable redis.service         # 取消开机自启
systemctl start redis.service          # 启动redis服务
systemctl stop redis.service           # 停止服务
systemctl restart redis.service        # 重新启动服务
systemctl status redis.service          # 查看服务当前状态
systemctl list-units --type=service     # 查看所有已启动的服务
systemctl daemon-reload                 # 加载服务配置文件

Cuatro, instalación de nginx

Dirección de descarga: https://nginx.org/en/download.html

4.1 Preparar el entorno de creación

执行:yum -y install gcc gcc-c++ automake autoconf libtool make

4.2 Preparar el entorno nginx

Instalar pcre: yum -y instalar pcre pcre-devel

安装zlib:yum -y install zlib zlib-devel

安装openssl: yum -y install openssl openssl-devel

4.3 Subir y descomprimir nginx

Descompresión: tar -zvxf nginx-1.20.2.tar.gz

Ingrese al directorio raíz de nginx: cd /usr/local/nginx/nginx-1.20.2

Ejecutar: **./configurar**

compilar: hacer

Instalación: **hacer instalación**

4.4 iniciar nginx

Ejecutar: cd /usr/local/nginx/sbin

Inicie el servicio nginx: **./nginx**

Cierre el servicio nginx: ./nginx -s stop

Reinicie el servicio nginx: ./nginx -s recargar

Archivo de configuración de detección: nginx -t -c ~/youSite.conf

4.5 Configurar nginx para que se inicie automáticamente al arrancar: preparativos

Copie los archivos nginx.conf, mime.types a /etc/nginx/: cd /usr/local/nginx/conf/

Ejecutar: cp nginx.conf /etc/nginx/ ** cp mime.types /etc/nginx/ **

Cree el comando de control init.d, vi /etc/init.d/nginx , el contenido es el siguiente

#!/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

Nota: los dos siguientes deben modificarse

nginx="/usr/local/nginx/sbin/nginx" #修改成nginx执行程序的路径。
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" #修改成nginx.conf文件的路径。

Establecer permisos: chmod a+x /etc/init.d/nginx

Después de configurar, puede ejecutar el siguiente comando

/etc/init.d/nginx iniciar
/etc/init.d/nginx detener
/etc/init.d/nginx reiniciar

4.6 Configurar nginx para que se inicie automáticamente

Agregue a service, use el servicio para controlar nginx: chkconfig --add /etc/init.d/nginx

Para configurar el arranque automático, ejecute: chkconfig nginx on

Supongo que te gusta

Origin blog.csdn.net/qq798867485/article/details/130272574
Recomendado
Clasificación