由于笔者为了将项目和数据库分开,故准备一台win10安装mysql,具体安装步骤可参考笔者这篇文章
Windows下的MySQL 5.7.x安装配置教程
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
可参考笔者这篇文章
Linux下jdk的下载安装
可参考笔者这篇文章
Linux下的nginx部署、安装、测试
打开spring boot文件将数据库地址配置为数据库主机的ip地址
这部笔者这里简单处理了,将安装数据库的win10防火墙直接关闭了,若考虑安全性的读者可以自行百度放行3306端口即可。
笔者这里写了一个脚本,核心命令就是java -jar ~/wiki/wiki.jar
,这个脚本做的事情也很简单,关闭之前启动这个jar的进程,然后再启动即可。
#!/bin/bash
echo "publish----------"
process_id=`ps -ef | grep wiki.jar | grep -v grep |awk '{print $2}'`
if [ $process_id ] ; then
sudo kill -9 $process_id
fi
source /etc/profile
nohup java -jar ~/wiki/wiki.jar > /dev/null 2>&1 &
echo "end publish"
为了能够仿真模仿域名访问线上地址,笔者修改了本机的hosts文件,使得当前对应www.wiki.com的请求全部重定向到虚拟机的ip地址上
hosts文件地址
C:\Windows\System32\drivers\etc\hosts
添加如下配置
192.168.92.10 www.wiki-server.com
打开nginx配置
vim /usr/local/nginx/conf/nginx.conf
配置反向代理
server {
listen 80;
server_name www.wiki-server.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
键入地址
http://www.wiki-server.com/ebook/list
显示如下即为成功
通过access.log发现这个问题,结果搜索引擎排查原因是启动用户和nginx工作用户不一致所致
具体可以参考这篇博客
解决Nginx出现403 forbidden (13: Permission denied)报错的四种方法
双击进行文件打包
打包后的文件会存在dist目录下,打开对应目录下将其所有文件都打包到虚拟机对应/root/wiki/web
下
如图所示
server {
listen 80;
server_name www.wiki.com;
location / {
alias /root/wiki/web/;
index index.html;
try_files $uri $uri/ =404;
}
}
参考stack-over-flow这篇文章
what-does-this-nginx-error-rewrite-or-internal-redirection-cycle-mean
原本也很简单,原本我的nginx配置是这样的,i$uri/
后面配置的是index.html这就导致了如果页面找不到就会无限循环查找报错,以及找不到页面原因也很可笑,笔者配置alias 目录错误,导致映射不到对应的文件目录下。
server {
listen 80;
server_name www.wiki.com;
location / {
alias /root/wiki/web/;
index index.html;
try_files $uri $uri/ index.html;
}
}