Migrer le projet de déploiement

Récemment, il est nécessaire de déployer un projet sur un serveur nouvellement acheté. Le projet est le projet springBoot + jdk1.8 + mysql. Le serveur utilise Alibaba Cloud. Le premier mois d'essai gratuit est juste suffisant pour s'entraîner. Enregistrez le processus de fonctionnement, afin qu'il puisse être utilisé et partagé à nouveau à l'avenir.

1. Connectez-vous au serveur via Xshell .
Une fois l'instance créée dans la console Alibaba Cloud , les adresses IP publiques et intranet statiques de l'instance sont obtenues. Entrez l'adresse IP du réseau public du serveur et le mot de passe du compte dans Xshell pour vous connecter. Si l'interface suivante apparaît, connectez-vous à Alibaba Cloud pour réinitialiser le mot de passe et modifier la configuration
insérez la description de l'image ici
1.1 Réinitialisez le mot de passe de l'instance
insérez la description de l'image ici
insérez la description de l'image ici
insérez la description de l'image ici
1.2 Modifiez la configuration pour permettre à root de se connecter avec un mot de passe Modifiez la configuration du fichier pour savoir si l'option d'authentification par mot de passe
est disponible, si elle est commentée par #, laissez-la aller, si c'est non, changez-la en oui. Redémarrez ensuite le service sshd, la commande de redémarrage est/etc/ssh/sshd_configPasswordAuthentication yesservice sshd restart

2. Préparation de l'environnement d'exploitation
2.1 Vérifiez si jdk est installé. Entrez la commande java -versionet appuyez sur Entrée. Si cela vous est demandé, -bash: hj: command not foundjdk n'est pas installé et il est complètement vide (le logiciel préinstallé n'a pas été sélectionné lors de la création de l'instance). Exécutez la commande yum -y install java-1.8.0*pour installer l'environnement d'exécution Java. Après avoir appuyé sur Entrée, Xshell continuera d'imprimer la progression de l'installation jusqu'à ce que Complete! s'affiche, indiquant que l'installation est terminée. À ce stade, appuyez sur java -versionEntrée et les informations de version de jdk s'afficheront comme indiqué dans la figure ci-dessous, indiquant que l'installation est réussie.
insérez la description de l'image ici
2.2 Installation de la base de données
2.2.1 Mysql à titre d'exemple, la commande d'installation est la suivante

wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

Si la troisième étape montre que la clé publique pour mysql-community-server-5.7.37-1.el7.x86_64.rpm n'est pas installée, exécutez comme suit
insérez la description de l'image ici

# 升级
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022    
# 启动
yum install mysql-server   或者    yum -y install mysql-community-server

Dans la troisième étape, certaines informations sur la base de données d'installation s'afficheront comme suit : Si vous pensez qu'il n'y a pas de problème, entrez y et appuyez sur Entrée pour continuer à terminer l'installation.
insérez la description de l'image ici

2.2.2 Démarrer le service de base de données après une installation réussie systemctl start mysqld.service
2.2.3 Afficher le mot de passe initial de mysql grep "password" /var/log/mysqld.log
insérez la description de l'image ici
2.2.4 Modifier le mot de passe initial et l'autorisation

# 登录数据库 执行后用刚才的初始默认密码登录
mysql -uroot -p
# 修改密码安全策略为低(只校验密码长度,至少8位)。
set global validate_password_policy=0;  
# 修改密码为 12345678
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
# 授予远程管理权限,不然navicate等工具连不上
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';
# 退出数据库
exit

Conseil : si le compte IP et le mot de passe sont corrects mais que la connexion de navigation expire, reportez-vous à l'étape 2.5 pour ouvrir le port d'accès ou utilisez d'abord ssh pour le contourner.

2.3 Installation de Tomcat
2.3.1 Télécharger le package d'installation wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.69/bin/apache-tomcat-8.5.69.tar.gz
2.3.2 Installer Tomcat (décompresser et utiliser)

# 解压刚刚下载Tomcat包
tar -zxvf apache-tomcat-8.5.69.tar.gz 
# 移动与修改Tomcat名字 这一步可省略 因为tomcat的安装不做要求
mv apache-tomcat-8.5.69 /usr/local/Tomcat8.5
# 授权执行权限 
chmod +x /usr/local/Tomcat8.5/bin/*.sh
# 修改访问端口 这一步可省略 默认8080
sed -i 's/Connector port="8080"/Connector port="80"/' /usr/local/Tomcat8.5/conf/server.xml

2.3.4 Démarrer le serveur tomcat

/usr/local/Tomcat8.5/bin/./startup.sh

Entrez le port ip + tomcat du réseau externe dans le navigateur, et cela réussira si vous voyez le chat tomcat (si vous ne pouvez pas accéder, reportez-vous à l'étape 2.5 pour ouvrir le port d'accès)

2.4 Installer Nginx
2.4.1 Préparation de l'installation

# 安装gcc编译器
yum -y install gcc
# 安装pcre,解析正则表达式
yum install -y pcre pcre-devel
# 安装zlib 数据包进行gzip压缩和解压
yum install -y zlib zlib-devel

2.4.2 Télécharger Nginx pour la décompression

wget http://nginx.org/download/nginx-1.17.10.tar.gz 
tar -zxvf nginx-1.17.10.tar.gz

2.4.3 Compiler et installer Nginx

cd nginx-1.17.10
./configure
make && make install

2.4.5 Démarrer

cd /usr/local/nginx/
sbin/nginx

Entrez l'adresse IP du réseau externe dans le navigateur et voyez bienvenue dans Nginx, ce qui signifie que l'installation est réussie (si vous ne pouvez pas accéder, reportez-vous à l'étape 2.5 pour ouvrir le port d'accès)

2.5 Ouverture des ports d'accès
Si la base de données, tomcat et Nginx démarrent et s'exécutent normalement après l'installation, mais que les pages Web externes ne peuvent pas être ouvertes, expirent, etc., cela signifie que leurs ports ne sont pas dans la liste blanche. Vous devez vous connecter à la console Alibaba Cloud pour trouver le menu du groupe de sécurité, qui a un groupe de sécurité par défaut/autonome, cliquez sur la règle pour configurer la direction entrante - ajoutez manuellement, ajoutez le port que nous devons ouvrir à l'accès au réseau externe, l'objet d'autorisation est tout 0 signifie pas de vérification d'identité (pas sûr), bien sûr, vous pouvez également limiter la plage pour contrôler qui peut utiliser ce port (non flexible)
insérez la description de l'image ici
. Ici, j'ai ouvert les ports 80, 8080 et 3306
insérez la description de l'image ici

3. Empaquetage du projet et déploiement du serveur de téléchargement
3.1 Empaquetage
Comme le montre la figure ci-dessous, le projet local est empaqueté dans jar dans l'idéal, bien sûr, il peut également être empaqueté dans war, selon le contenu dans pom<packaging>jar</packaging>
insérez la description de l'image ici

3.2 Téléchargement
Si le package est jar, il peut être téléchargé dans n'importe quel répertoire du serveur. Si le package est war, il doit être téléchargé dans les applications Web du répertoire d'installation de tomcat. Ce qui suit prend le format jar comme exemple
3.2.1 Créer un chemin de stockage de package de projet sur le serveur

# 创建新的存放目录(用现有目录也可以)
mkdir /home/project/demo
# 授权  777是最大权限,可根据需要减小权限范围
chmod -R 777 /home/project/demo

3.2.2 Téléchargez le fichier de package, la commande est la suivante. (Si la commande échoue, installez XFTP pour terminer le téléchargement)

cd /home/project/demo
rz 
或者 
scp C:\Users\admin\Desktop\demo-1.0.0.jar [email protected]:/home/project/demo

4. Démarrez le projet
S'il est empaqueté au format jar, il java -jar bracelet-1.0.0.jarpeut être exécuté
S'il est empaqueté au format war, exécutez comme suit :

# 检查tomcat是否在运行 
ps aux | grep tomcat
# 若在运行则停止tomcat
/usr/local/Tomcat8.5/bin/./shutdown.sh
# 启动tomcat
/usr/local/Tomcat8.5/bin/./startup.sh
# 查看启动日志是否启动成功 
tail -400f /usr/local/Tomcat8.5/logs/catalina.2022-10-15.log

Après le démarrage de tomcat, le package war sera automatiquement décompressé sous les applications Web et il y aura un dossier supplémentaire portant le même nom que le package war, qui contient tous les fichiers du projet après la décompression automatique. Une fois le démarrage réussi, accédez-y et testez-le via http://IP du réseau public:8080/war nom du fichier de package/une interface d'arrière-plan. Si le service.xml de tomcat est modifié, l'adresse peut être différente, comme le numéro de port, l'adresse virtuelle, etc.

5. Synthèse des problèmes rencontrés et solutions

  1. Tomcat démarre avec succès mais le projet springboot n'est pas chargé (l'icône springBoot de la console n'est pas imprimée).Dans
    ce cas, localhost:8080 peut voir la page Tomcat, mais localhost:8080/nom du projet/XXX accède à 404. Créez un nouveau index.txt dans webapps/nom du projet/écrivez une chaîne et modifiez le suffixe du fichier txt en html. Vous pouvez voir la chaîne qui vient d'être écrite via localhost:8080/nom du projet, indiquant que la configuration, le port et l'adresse d'accès de tomcat service.xml sont corrects, mais que le projet n'a pas été démarré avec succès, de sorte que les autres interfaces du projet ne sont pas accessibles. Certaines personnes sur Internet disent d'ajouter une étiquette dans le fichier pom, ce qui signifie que les bocaux liés à tomcat fournis avec springboot ne doivent pas être emballés lors de l'emballage. Mais j'ai essayé en vain et j'ai finalement ajouté la solution suivante à la classe de démarrage
    insérez la description de l'image ici

  2. La connexion à la base de données échoue.
    Le journal de démarrage de Tomcat indique que la connexion à la base de données a échoué. La première consiste à vérifier l'adresse de la base de données, le compte, le mot de passe, etc. ; la seconde consiste à ajouter useSSL=false après l'URL de l'étiquette de configuration de la base de données. False signifie que vous pouvez vous connecter directement via le compte et le mot de passe, et true signifie que vous pouvez effectuer une vérification de sécurité et en même temps vérifier les certificats, les jetons, etc. ; troisièmement, le port 3306 de la base de données est restreint. Reportez-vous aux étapes ci-dessus 2.5 Ouvrir le port d' accès .

<property name="url" value="jdbc:mysql://127.0.01:3306/testdb?useUnicode=true&amp;characterEncoding=utf8&amp;autoReconnect=true&amp;failOverReadOnly=false&amp;useSSL=false"/>
  1. Le fichier de configuration sous le projet est introuvable.
    Le journal Tomcat indique qu'un certain fichier de configuration (tel que application.properties) n'est pas anormal et le chemin est introuvable. Vérifiez d'abord s'il manque des fichiers de configuration dans la balise resources du fichier pom
<build>
	<resources>
		<resource>
			<directory>src/main/resources</directory>			
			<excludes>
				<!-- 检查是否有遗漏的配置文件 有的话在新增一个exclude标签补充上 -->
				<exclude>conf/**/*</exclude>
			</excludes>
		</resource>		
	</resources>
<build>

Deuxièmement, vérifiez le pom et les autres fichiers de configuration qui seront importés et si vous devez ajouter un chemin de classe devant le chemin :

<list>
	<!-- <value>application.properties</value> -->
	<!-- 如上改成如下 -->
	<value>classpath:application.properties</value>	 
</list>

Je suppose que tu aimes

Origine blog.csdn.net/qq_29539827/article/details/127317047
conseillé
Classement