大二菜鸡一枚 只是记录一下自己的学习过程 绝无显摆之意 如有过错 敬请批评指教
这几天参加微信小程序设计大赛 借用了学长大三课设的作业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最佳方案第二版 电子工业出版社
网络文章
- https://blog.csdn.net/hualong1009/article/details/78368084
- https://blog.csdn.net/williamyi96/article/details/78268595
- https://blog.csdn.net/zhanglf02/article/details/73565354
- https://blog.csdn.net/theonegis/article/details/51810063
感谢各位前辈的指点
2018年5月30日 22:18:57
Chen Sicong