由于早几天在ecs服务器部署docker并且部署应用,由于对docker认识不够,导致通过docker执行了漏洞代码,导致服务器启动失败,现在重置ecs服务器,通过jar包方式重新部署该博客。

1、环境

准备相关软件上传到服务器/home/soft目录。

jdk-11_linux-x64_bin.tar.gz
mysql-8.1.0-linux-glibc2.28-x86_64.tar.xz
nginx-1.24.0.tar.gz

2、安装Mysql

安装过程参考前面博文:阿里云安装 mysql 8.1.0

3、安装jdk

在当前目录下解压JDK,并且移动到相应目录

tar -zxvf jdk-11_linux-x64_bin.tar.gz
mv  jdk-11 /usr/local/jdk

配置环境变量

JAVA_HOME=/usr/local/jdk/jdk-11
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib
PATH=$PATH:$JAVA_HOME/bin

验证是否成功

# 生效环境变量
source /etc/profile

#验证版本信息
java -version

4、部署应用

在路径/usr/local/jar下部署应用,上传应用。

编写自启动脚本:vi startup.sh

nohup java -jar huq.jar >/dev/null 2>&1 &

授予执行权限

 chmod +x startup.sh

修改自启动文件:vi /etc/rc.d/rc.local,添加如下内容

sh /usr/local/jar/startup.sh

也要授权执行

chmod +x /etc/rc.d/rc.local

#  /etc/rc.d/rc.local的引用也要授权
chmod +x /etc/rc.local

重启服务器查看应用是否正常启动。

PS:博客使用royi框架,生成登录验证码报错java.lang.reflect.InvocationTargetException,需要依赖以下服务:


yum install fontconfig

fc-cache --force

5、安装nginx

下载nginx并解压。

wget -c http://nginx.org/download/nginx-1.24.0.tar.gz

进入解压的nginx目录,执行脚本配置命令

#执行配置脚本 --prefix是指定安装目录
./configure --prefix=/usr/local/nginx

对于验证不通过的方法,基本是缺少相关类库导致,一一安装重新检查通过即可

# 如缺少gcc gcc-c++,则安装
yum -y install gcc gcc-c++ autoconf automake make

通过之后进行编译安装

#对nginx编译和安装
make & make install

安装完成后进入我们指定的安装目录:/usr/local/nginx

配置文件在conf文件夹

启动文件在sbin文件夹

编辑配置文件:vi nginx.conf


        location / {
            root   html;
            proxy_pass http://localhost:8082;
            index  index.html index.htm;
        }

使用命令启动nginx

./sbin/nginx

配置nginx开机启动

创建nginx.service

在/usr/lib/systemd/system/目录下创建nginx.service并添加以下内容:(注:配置文件中的路径为自己nginx安装的实际路径):

[Unit]
Description=The NGINX auto enable config
After=syslog.target network.target

[Service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

配置开机启动

# 设置启动服务
systemctl enable nginx.service

# 服务生效
systemctl daemon-reload

# 查看服务状态
systemctl status nginx

# enable 开机启动设置
systemctl enable nginx

# 手动服务启动
systemctl start nginx