资讯专栏INFORMATION COLUMN

wiki内网发布小结

不知名网友 / 1134人阅读

摘要:项目打包使用命令进行打包上传对应目录下笔者这里直接使用上传到对应目录下了启动笔者这里写了一个脚本,核心命令就是,这个脚本做的事情也很简单,关闭之前启动这个的进程,然后再启动即可。

准备两台虚拟机

win10 安装mysql

由于笔者为了将项目和数据库分开,故准备一台win10安装mysql,具体安装步骤可参考笔者这篇文章

Windows下的MySQL 5.7.x安装配置教程

centos7下安装jdk nginx

首先是阿里云仓库的准备

  1. 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  1. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/,这里笔者以cetos6 为例
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  1. 运行 yum makecache 生成缓存
 yum makecache 

安装jdk

可参考笔者这篇文章

Linux下jdk的下载安装

安装nginx

可参考笔者这篇文章

Linux下的nginx部署、安装、测试

后端部署

配置好数据库连接

打开spring boot文件将数据库地址配置为数据库主机的ip地址

注意配置好数据库服务器端口放行

这部笔者这里简单处理了,将安装数据库的win10防火墙直接关闭了,若考虑安全性的读者可以自行百度放行3306端口即可。

项目打包

使用maven命令进行打包

上传root对应wiki目录下

笔者这里直接使用mobaxterm上传到对应目录下了

启动

笔者这里写了一个脚本,核心命令就是java -jar ~/wiki/wiki.jar ,这个脚本做的事情也很简单,关闭之前启动这个jar的进程,然后再启动即可。

#!/bin/bashecho "publish----------"process_id=`ps -ef | grep wiki.jar | grep -v grep |awk "{print $2}"`if [ $process_id ] ; thensudo kill -9 $process_idfisource /etc/profilenohup java -jar  ~/wiki/wiki.jar > /dev/null 2>&1 &echo "end publish"

配置hosts文件

为了能够仿真模仿域名访问线上地址,笔者修改了本机的hosts文件,使得当前对应www.wiki.com的请求全部重定向到虚拟机的ip地址上

hosts文件地址

C:/Windows/System32/drivers/etc/hosts

添加如下配置

192.168.92.10   www.wiki-server.com

配置nginx映射

打开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;        }        }

先在linux上测试接口是否运行成功

本机测试接口联通行

键入地址

http://www.wiki-server.com/ebook/list

显示如下即为成功

总结后端部署遇到的问题

Permission denied

通过access.log发现这个问题,结果搜索引擎排查原因是启动用户和nginx工作用户不一致所致

具体可以参考这篇博客
解决Nginx出现403 forbidden (13: Permission denied)报错的四种方法

前端项目部署

配置好前端连接后端的接口地址

增加打包生产环境命令

打包并上传到wiki下的web目录下

双击进行文件打包

打包后的文件会存在dist目录下,打开对应目录下将其所有文件都打包到虚拟机对应/root/wiki/web

如图所示

配置nginx映射

 server {        listen       80;        server_name  www.wiki.com;        location / {           alias /root/wiki/web/;            index   index.html;            try_files $uri $uri/ =404;        }        }

尝试访问页面

遇到的问题

rewrite-or-internal-redirection-cycle-mean

参考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;    }    }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/125642.html

相关文章

  • 【效率专精系列】善用API统一描述语言提升RestAPI开发效率

    摘要:其标准为前身是,提供强大的在线编辑功能,包括语法高亮错误提示自动完成实时预览,并且支持用户以格式撰写导入导出转换文档。 团队内部RestAPI开发采用设计驱动开发的模式,即使用API设计文档解耦前端和后端的开发过程,双方只在联调与测试时耦合。在实际开发和与前端合作的过程中,受限于众多因素的影响,开发效率还有进一步提高的空间。本文的目的是优化工具链支持,减少一部分重复和枯燥的劳动。 现状...

    tianyu 评论0 收藏0
  • 轻舟已过万重山——真正的技术派公司是怎么联调、测试和发布的?

    摘要:这么思考问题的原因也很简单,我们笃信工程师文化,靠技术而不是管理解决问题,正如陈皓同学所言如果你是一个技术公司,你就会更多的相信技术而不是管理。 郑昀 创建于2017/3/8 最后更新于2017/3/10 关键词:研发协作,Docker,环境变量,开发联调,环境维护,虚拟机,中间件,配置与代码分离,git,jenkins 开发联调,测试,预发,生产,稍微上规模的互联网技术团队,每一次...

    makeFoxPlay 评论0 收藏0
  • 轻舟已过万重山——真正的技术派公司是怎么联调、测试和发布的?

    摘要:这么思考问题的原因也很简单,我们笃信工程师文化,靠技术而不是管理解决问题,正如陈皓同学所言如果你是一个技术公司,你就会更多的相信技术而不是管理。 郑昀 创建于2017/3/8 最后更新于2017/3/10 关键词:研发协作,Docker,环境变量,开发联调,环境维护,虚拟机,中间件,配置与代码分离,git,jenkins 开发联调,测试,预发,生产,稍微上规模的互联网技术团队,每一次...

    yexiaobai 评论0 收藏0
  • 如何设计npm包的开发和发布流程

    摘要:所以此版本号在这里的作用并不是用来区分版本的,小版本号才是真正用来做版本区分的,那么在引用这个就要这么来控制版本号,举个栗子锁定大版本号和小版本号,不管我们开发过程中提交了多少次,我们引用都是最新的。 最近在把公司内部用的一个库发布到内网的npm私服上,仅仅是发布的话是比较简单的,但这个库是由多个人一起维护的,而且npm私服只有一套,所以生产环境和开发环境,用的是同一个,那么,我们的需...

    qieangel2013 评论0 收藏0

发表评论

0条评论

不知名网友

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<