【爆炒洋葱圈】微信小程序Ecourse的基于Ubuntu Server的服务器搭建笔记

大二菜鸡一枚 只是记录一下自己的学习过程 绝无显摆之意 如有过错 敬请批评指教

这几天参加微信小程序设计大赛 借用了学长大三课设的作业Ecourse微信小程序作为参赛作品

本次比赛对我来说的主要难点是搭建一个Linux服务器 这是我之前从来没有接触过的

服务器学长已经买好了 是京东云的基于Ubuntu Server的服务器 于是我要做的就是在这个基础上搭建Ecourse小程序所需要的服务端和数据库

本次服务器管理软件:

  • XShell 6(Build0086) 
  • Mobaxterm Personal Edition v10.6 Build 3648 

XShell主要是大电脑上在用 界面简单功能强大

而由于我的小电脑在打开XShell会蓝屏报UNEXPECTED_KERNEL_MODE_TRAP错 所以上网搜索用了个人版免费的Mobaxterm 功能十分强大 集成了服务器性能监控和ftp等功能 个人版对我来说足够了

本次服务器搭建任务分为以下几个部分:

  • Java环境的搭建
  • Tomcat8安装
  • Database配置(基于MySQL或者新学习MariaDB)


1、Java环境的搭建

在准备apt工具的时候 浏览/etc/apt/sources.list发现京东云有自己的Ubuntu镜像仓库 在这里贴出以备不时之需

deb http://mirrors.jcloudcs.com/ubuntu/ xenial main restricted
deb http://mirrors.jcloudcs.com/ubuntu/ xenial-updates main restricted
deb http://mirrors.jcloudcs.com/ubuntu/ xenial universe
deb http://mirrors.jcloudcs.com/ubuntu/ xenial-updates universe
deb http://mirrors.jcloudcs.com/ubuntu/ xenial multiverse
deb http://mirrors.jcloudcs.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.jcloudcs.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.jcloudcs.com/ubuntu/ xenial-security main restricted
deb http://mirrors.jcloudcs.com/ubuntu/ xenial-security universe
deb http://mirrors.jcloudcs.com/ubuntu/ xenial-security multiverse

在这个服务器上我还是安装了Java8 毕竟被之前安装Java9发生的一堆兼容性错误弄的半生不死

在这里我尝试过添加仓库和通过apt直接获取oracle-java8-installer均无效 只能采用apt直接获取openjdk

在控制台输入

sudo apt-get install openjdk-8-jdk

等待安装完成

在这里会自动配置java的环境变量 无需再做环境变量的修改

访问java和javac查询安装是否有效


 

2、Tomcat8安装

安装Tomcat8很简单 输入

sudo apt-get install tomcat8 tomcat8-admin

等待安装完成 在这里同时安装了Tomcat8和Tomcat8-admin

接下来 修改Tomcat的JAVA_HOME位置

打开/etc/defuault/tomcat8将JAVA_HOME修改为当前jdk所在目录

通过apt安装的jdk8的默认目录为/usr/lib/jvm/java-8-openjdk-amd64

在这里发现MobaXterm附带的Sftp和MobaTextEdior很有用 通过Sftp下载tomcat8 然后通过MobaTextEditor进行修改 最后将文件重新传回去即可 对开发效率有很大的提升

至此Tomcat服务器搭建完成 

由于不存在内网 这个Tomcat直接可以被外网通过8080端口进行访问

输入

sudo service tomcat8 start

启动Tomcat服务器

在任何联网设备浏览器中输入http://116.196.115.129:8080/均可进行访问

验证Tomcat已经成功启动之后 将ecourse.war部署在服务器的tomcat上

将ecourse.war上传至/var/lib/tomcat8/wabapps中

重启服务器即可

------------------------------------------------------------2018年7月24日 更新------------------------------------------------------------

这几天正在处理小程序上线的问题 

小程序其中有一个要求就是必须使用https访问并且不能有端口号

于是按照网上的教程 在 /etc/tomcat8/server.xml下将Connector中的Port设置为80 

重启服务器 使用命令netstat -ant发现80端口并没有程序在监听 但是Port改为3000发现又可以

并且tomcat8的service在重启的时候并没有报错

几经查找发现

从Ubuntu 10.04开始 默认关闭1023及以下的端口 如果要使用的话需要手工打开

关于tomcat的打开 可以编辑/etc/defalut/tomcat8中最后一行的#AUTHBIND=no改为AUTHBIND=yes进行访问

这真的是踩了个坑啊

我觉得Tomcat在权限没开启的情况下 在启动服务的时候也应该给予提示吧

像我这种小白不去查根本不明白会有这种限制


 

3、Database配置

一开始想要用root用户进行访问 但是不知道密码无法进入数据库(现已解决)

上网查找解决方法 发现访问/etc/mysql/debian.cnf

可以找到系统随机生成的用户名和密码 用这个用户名和密码进行登录

在这里我想到用自己电脑上的Navicat进行远程访问数据库 以便提高效率

上网查询方法 首先用root登入MySQL进行授权操作

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

重载授权表

FLUSH PRIVILEGES;

退出数据库即可

通过修改'root'@'%'中%的内容 可以让指定IP进行远程访问

参考文献:

书籍

  • Ubuntu Server最佳方案第二版 电子工业出版社

网络文章

感谢各位前辈的指点

2018年5月30日 22:18:57

Chen Sicong

猜你喜欢

转载自blog.csdn.net/csc1998/article/details/80501123
今日推荐