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/nginxPara configurar el arranque automático, ejecute: chkconfig nginx on