手动部署 sharp-admin 应用

vim /etc/nginx/conf.d/sharp-admin.conf

sharp-admin.conf

server {
    listen 80;
    server_name sharp-admin.xhope.top;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

mkdir -p /usr/local/projects/sharp-admin

目录结构

├── deploy
│   └── sharp-admin-2.0-SNAPSHOT.jar
├── application-prod.yml(可选)
├── sharp-admin.sql
├── config.sh
└── deploy.sh
└── mysqldump.sh
└── mysqldump
  • 数据库初始化
 mysql -uroot -p123456 sharp-admin < /usr/local/projects/sharp-admin/sharp-admin.sql

– 启动 sharp-admin 应用

sh deploy.sh

访问 sharp-admin.xhope.top
– 数据库备份

chmod +x /usr/local/projects/sharp-admin/mysqldump.sh
crontab -e
0 23 * * * /usr/local/projects/sharp-admin/mysqldump.sh
crontab -e
40 23 * * * bash -c 'source ~/.bash_profile && /usr/bin/python3 /usr/local/projects/sharp-admin/upload.py'

其他参考:
Linux自动打包上传并运行SpringBoot程序

docker 部署 sharp-admin + 1Panel 管理面板

创建服务,开机启动 sharp-admin 应用

创建 Service 文件

vim /etc/systemd/system/sharp-admin.service

写入以下内容:

[Unit]
Description=Sharp Admin Deploy Service
After=network.target mysql.service
Requires=mysql.service

[Service]
Type=simple
# ExecStart=/bin/bash -c 'nohup java -Xms1024m -Xmx2048m -Dspring.profiles.active=prod -jar /usr/local/projects/sharp-admin/sharp-admin-2.0-SNAPSHOT.jar --server.port=8080 &'
ExecStart=/usr/local/projects/sharp-admin/deploy.sh
WorkingDirectory=/usr/local/projects/sharp-admin
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

如果数据库是 mariadb 上面需要替换成 mariadb.service

添加deploy.sh可执行权限

chmod +x /usr/local/projects/sharp-admin/deploy.sh

启用并启动服务

sudo systemctl daemon-reload
sudo systemctl enable sharp-admin.service
sudo systemctl start sharp-admin.service

Centos7 安装 Nginx

参考https://nginx.org/en/linux_packages.html#RHEL

Install the prerequisites:

sudo yum install yum-utils

To set up the yum repository, create the file named /etc/yum.repos.d/nginx.repo with the following contents:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

By default, the repository for stable nginx packages is used. If you would like to use mainline nginx packages, run the following command:

sudo yum-config-manager --enable nginx-mainline

To install nginx, run the following command:

sudo yum install nginx

start

nginx

设置开机启动

sudo systemctl enable nginx

Centos7 安装 MySQL

CentOS 7 默认自带了 MariaDB mariadb-libs-5.5.68-1.el7.x86_64

可以用这个命令确认一下系统里有没有 MariaDB:

rpm -qa | grep mariadb

CentOS 7 默认可能有 MariaDB,要先移除。

sudo yum remove mariadb-libs

直接下载 MySQL 5.6 的官方 YUM 源 rpm 包:

wget https://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

然后安装它:

sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

直接安装:

sudo yum install mysql-community-server-5.6.24

启动服务

sudo systemctl start mysqld

设置开机启动

sudo systemctl enable mysqld

设置密码

mysqladmin -u root password '你的新密码'

开启远程数据库访问

mysql -u root -p
use mysql;
grant all PRIVILEGES on *.* to root@'%' identified by '数据库密码';
flush privileges;

Centos7 安装 MariaDB

yum安装 MariaDB

yum install mariadb mariadb-server
systemctl start mariadb   #启动mariadb
systemctl enable mariadb  #设置开机自启动
mysql_secure_installation #设置root密码等相关
mysql -uroot -p           #测试登录

MariaDB 开启远程数据库访问

mysql -u root -p
use mysql;
grant all PRIVILEGES on *.* to root@'%' identified by '数据库密码';
flush privileges;