配置linux服务器的一些操作
本次课程实验,我们选择的是ubuntu 14.04操作系统,不像使用RDP连接windows服务器那样可以直观的看到远程端的图形界面,只能通过Xshell以命令行进行操作,那么就来说说配置远程linux服务器需要的一些工具。
服务器环境:Ubuntu 14.04+Mysql Distrib 5.5.46+vsftpd 3.0.2+JAVA 1.8.0_71+Tomcat 8.0.30
作为一个JAVA Web服务器,那么Tomcat是必不可少的,而且Web项目中一般涉及数据的存储问题,采用数据库是最为简单而又有效的方式,而数据库方面选择Mysql而不是Oracle则主要是因为Mysql完全足够满足我们的需求,Oracle过于庞大,在性能一般的机器上运行反而无法发挥它的能力,当然,Mysql的安装相比于Oracle简单太多,偷个懒。vsftpd是将服务器打折成FTP服务器,目的是使我们能够更加方便地将项目上传到服务器上进行部署。
1.Mysql的安装
Mysql的安装十分简单,是整个过程中最为省力的一步,可以从Mysql官网上下载安装包解压安装,也可以直接使用命令apt-get install mysql-server mysql-client,我们使用后者
在安装过程中会让你设置Mysql的管理员用户密码(root),这个密码忘记了虽然可以找回来,但是,还是记牢了为好。
安装完成后,在命令行输入mysql -u root -p回车再输入root用户的密码即可进行登陆。
安装好了就可以创建表空间进行使用了,直接执行create database dbname,就可以创建一个名为dbname的表空间,但这里存在一个问题,就是以这个命令创建的表空间默认字符编码是不支持中文字符串的,一旦执行中文信息插入,全部显示乱码。
查询了create database的用法以及网上一些博客的介绍才知道
CREATE DATABASE 的语法:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_specification [, create_specification] ...]
reate_specification:
[DEFAULT] CHARACTER SET charset_name
| [DEFAULT] COLLATE collation_name
所以如果数据库将来插入的数据涉及中文,那么最好以这个语句进行创建CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;将语言系设置为UTF-8
如果你的数据库已经创建了,又不舍得通过删除重建方法,那么可以使用 ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci 进行设置。
2.vsftpd的安装
vsftpd的安装同样简单,使用apt-get install vsftpd就可以完成安装
但难的在于配置项,vsftpd安装完成后,他的配置文件为/etc/vsftpd.conf
我们新建一个本地用户用于FTP连接 useradd ftpuser -d /home/ftp -m;
-d:指定用户的根目录,-m:如果用户根目录不存在则自动创建
passwd ftpuser为其指定一个新的密码用于登陆;
然后使用vim打开/etc/vsftpd.conf修改以下参数(去除参数前的#注释即可)
local_enable=YES //是否允许本地用户登录
write_enable=YES //是否允许写入
chroot_local_user=YES //禁止所有用户访问local_root的上一级目录
anonymous_enable=NO //是否允许匿名登陆,NO本该是默认选项,不过也有人提到这个参数的初始值为YES,改成NO就好了
并在文件末尾添加
local_root = /home/ftp
保存退出后重启vsftpd:service vsftpd restart
然后就可以使用Xftp等FTP工具连接服务器了,以上配置仅是实现一个最简单的FTP服务器,实现基础的文件传输功能,其他的高级功能设置可以自行google或百度。
3.JDK的安装
1.先去jdk官网下载ubuntu系统对应版本到本地,然后使用步骤二的ftp服务上传到服务器
2.使用wget命令直接登陆jdk官网下载:wget -c 链接地址 ; -c 参数代表断点续传,如果不使用-P参数指定下载目录则下载到当前目录
下载完成后复制到/usr/local目录下,使用tar -zvxf 文件名 进行解压,然后修改/etc/profile为jdk指定全局环境变量,如果修改用户环境变量~/.bashrc也可以,但感觉有点麻烦,如果多个用户都需要用到JDK,得一个用户一个用户进行设置。
变量贴出来如下:
export JAVA_HOME=/usr/local/jdk1.8.0_71(这个是我的版本)
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
保存关闭后,source /etc/profile即可重新加载变量设置。
4.Tomcat安装
步骤其实同JDK安装差不多
1.先去Tomcat官网下载ubuntu系统对应版本到本地,然后使用步骤二的ftp服务上传到服务器
2.使用wget命令直接登陆Tomcat官网下载
下载完成后复制到/usr/local目录下,使用tar -zvxf 文件名 进行解压,然后修改~/.bashrc为Tomcat指定变量,Tomcat个人感觉不必设置成全局变量。
变量贴出来如下:(注:我将Tomcat解压后的文件夹改名成Tomcat8)
export CATALINA_BASE=/usr/local/Tomcat8
export CATALINA_HOME=/usr/local/Tomcat8
export PATH=$CATALINA_HOME/bin:$PATH
保存关闭后,source ~/.bashrc即可重新加载变量,可以实现Tomcat的功能,但个人不是这样配置的,我为Tomcat配置了一个独立的用户设置为服务并开机自启,过程中需要编译,有点麻烦,这个以后再写。
以上就是一个简单的JAVA Web服务器配置流程,如果有错误还请指正。
配置linux服务器的一些操作的更多相关文章
- windows环境jar包部署到linux服务器,一键操作
背景: windows系统下生成的jar包通过FTP上传到linux服务器,然后通过XShell进行jar包的发布,这样反复了几个月后,开发阶段需要频繁更新包的部署.个人觉得很繁琐,想一键式把这个工作 ...
- 定时备份windows机器上的文件到linux服务器上的操作梳理(rsync)
由于需要对网络设备做备份,备份文件是放到windows机器上的.现在需要将备份数据同步到linux备份机器上,想到的方案有三种: 1)将windows的备份目录共享出来,然后在linux服务器上进行挂 ...
- java链接linux服务器,命令操作
1.本地读取linux文件,即在Windows上链接外部linux package com.common.utils; import java.io.BufferedReader; import ja ...
- centOS7 mini配置linux服务器(三) 配置防火墙以及IPtables切换
一.firewall介绍 CentOS 7中防火墙是一个非常的强大的功能,在CentOS 6.5中在iptables防火墙中进行了升级了. 1.官方介绍 The dynamic firewall da ...
- centOS7 mini配置linux服务器(五) 安装和配置tomcat和mysql
配置java运行环境,少不了服务器这一块,而tomcat在服务器中占据了很大一部分份额,这里就简单记录下tomcat安装步骤. 下载 首先需要下载tomcat7的安装文件,地址如下: http://t ...
- 如何配置FTP服务器,方便操作服务器文件
1 进入"控制面板"->"程序"->"打开或关闭Windows功能",找到"Internet信息服务"选项 ...
- 如何购买并配置linux服务器上的数据库
首先百度搜索阿里云 如果是学生可以学生认证 然后注册账号->个人认证->学生认证 然后你会发现 服务器一年只要114,114你买不了上当,买不了吃亏,买下面的ECS服务器,系统可以选择wi ...
- windows环境jar包部署到linux服务器,一键操作(帮助说明)
背景:在上次https://www.cnblogs.com/shexunyu/p/11165282.html发布了第一个版本后,后面增加了相关功能 需求:做下简单的说明文档 下载:https://fi ...
- Linux服务器使用命令操作MySQL插入数据乱码问题
服务器上使用MySQL命令方式进行插入数据时,很多时候会遇到插入数据乱码问题,导出一个sql执行文件,再倒入到unbutn中,结果出现乱码,折腾7-8分钟, 解决方式 在导出mysql sql执行文件 ...
随机推荐
- 对AutoIt中控件和窗口的理解
经过尝试,对AutoIt中Control和Window有了新的认识,分享一下 1.Control 现在我想对一个WinForm架构的应用程序进行自动化操作,得到控件Advanced Mode属性为[N ...
- BZOJ3522——[Poi2014]Hotel
1.题意:http://www.lydsy.com/JudgeOnline/problem.php?id=3522 2.分析:这道题有两种情况,第一个是三个点在同一个链上,这显然不可能了,因为树上的路 ...
- jQuery判断及更改checkbox状态
判断:jquery对象.prop("checked") 选中:jquery对象.prop("checked", true) 取消选中:jquery对象.remo ...
- HTTP返回码中301与302的区别 (转载)
一.官方说法 301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于: 301 redirect: 301 代表永久性转移(Permanently Moved). 302 ...
- [CodeWars][JS]如何判断给定的数字是否整数
问题描述: We are asking for a function to take a positive integer value, and return a list of all positi ...
- EndNote(二)之英文引文导入方式
在上一篇EndNote教程(一)--基本介绍中介绍了基本使用,今天将来介绍如何将常用文献引文导入EndNote中. EndNote在文献管理方面有着很多优点,可以节约很多精力.但是,不同文献查询网站可 ...
- 移居 GitHub
博客很久没能更新了,很多代码也从博客园逐渐转移到 GitHub,欢迎新老用户光顾: https://github.com/kedebug 个人博客:http://kedebug.me/
- C# 同类型实体赋值
#region 更新赋值,前者赋值给后者 public static void ShadowCopy(object a, object b) { if (a == null) return; if ( ...
- CodeForces 589J Cleaner Robot
题目链接 题意:一个机器人打扫卫生,URDL代表初始时机器人面对的方向上右下左. ' . ' 代表可以打扫的, ' * ' 代表家具,如果机器人遇到家具就顺时针转90度,问机器人能打扫多少面积. 题解 ...
- 建表过程-列名&列类型&修改表小试题C
#新增数据 INSERT INTO goods VALUES(10,'豆豆','男',85.2,'2016-12-14',5000.36,'2016-12-14 12:05:06','高') INSE ...