使用腾讯云主机搭建JAVA服务(jdk+tomcat+mysql)

闲来无事打算弄个腾讯云玩玩,以下记录下摸索的过程,其中参考了很多网上的方法,因为这里查一点那里查一点,我就不做转载说明了,在此感谢那些博客的博主。

 

1.购买腾讯云主机,我用的是试用版的,选择的操作系统是CentOS6.5 32位。

关于选择哪个操作系统,我纠结了好久,查了好多资料,最后决定用这个是因为我想做的是移动端的后台服务,所以选了这个比较稳定,也不需要太定制化的Linux系统。

 

2.安装XShell、FTP

在自己电脑安装这两个,链接上云主机(腾讯云提供的公网IP,默认用户名root,可在管理系统重置密码)

 

3.安装jdk

去官网下载Linux对应的jdk,我下载的是这个jdk-8u121-linux-i586.gz

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

使用ftp将下好的压缩包放到服务器上,我放的是/home目录下。

在XShell上,使用命令:tar -zxvf 放jdk的完整路径(我的就是/home/jdk-8u121-linux-i586.gz)

这时在home目录下就可以看到一个新的文件夹java-**

 

4.配置java所需的环境变量

网上查到有说几个地方可以改环境变量的,因为我是拿来练手玩的,所以就选了最简便的一个地方改。

找到/etc/profile这个文件,在这个文件里面加入环境变量,是所有登录这太服务器的用户都可以使用的。

使用vi命令,然后输入i,然后在最后加入:

 

export JAVA_HOME=/home/java8
export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=$CLASSPATH:$PATH:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:.

 

在按ESC,然后输入:进入命令模式,再输入wq!保存并退出。

然后再使用命令:source /etc/profile或 . /etc/profile使配置生效。

输入java -version测试是否配置成功。

 

这里我遇到了一个问题,由于我一开始在ftp修改了profile这个文件,导致在主机上这个文件被保存为dos格式,结果无法刷新配置,这时查到可以使用dos2unix命令来将文件转换成Linux格式,要使用这个命令,就需要先安装这个软件,安装的命令为:yum install dos2unix。

 

至此,jdk安装完成。

 

 

5.安装tomcat

在官网下载http://tomcat.apache.org/download-80.cgi

我下载的是解压版apache-tomcat-8.5.12.tar.gz

 

然后将文件上传服务器,跟上面jdk一样使用tar -zxvf 解压到home目录下。

 

到tomcat/bin目录下setclasspath.sh文件中设置java环境,加入以下两行即可

export JAVA_HOME=JDK的存放路径

export JRE_HOME=JDK的存放路径/jre

 

这时可以尝试启动tomcat了,如果报错(Cannot find ./catalina.sh),则需要给bin目录下的.sh文件授权:

chmod +x *.sh

启动tomcat:sh bin/startup.sh

启动成功后,在浏览器尝试访问http://公网ip:8080

可以打开tomcat主页就说明安装成功了。

 

6.安装mysql

依然贯彻怎么方便怎么来的思想,使用yum安装

命令:yum install mysql mysql-server mysql-devel -y

---2018/11新增

重新换了服务器,安装的时候提示mysql-server找不到可用包,解决方法如下:

yum安装mysql-server没有可用包问题解决方法:

step 1: wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

step 2: rpm -ivh mysql-community-release-el7-5.noarch.rpm

执行者两个语句解决该问题。

设置开机启动:chkconfig mysqld on

查看MySQL服务:chkconfig --list |grep mysql 

 

启动、停止MySQL的两个方法:

/etc/init.d/mysqld start

 service mysqld start 

 

/etc/init.d/mysqld stop

 service mysqld stop


查看都有哪些库
# cd /var/lib/mysql 
# ls -l 

 

查看占用端口,默认占用3306端口
# netstat -nutlp | grep mysql

 

 

输入命令:mysql -u root -p 可以进入MySQL命令行模式。

 

在安装完MySQL后,我就想在我自己的电脑使用MySQL workbench来链接云主机上的MySQL,结果遇到各种问题,在这里总结一下:

首先是查了网上很多资料,按里面说的一步一步来设置:

1、先进入MySQL命令行模式,输入

grant all privileges on*.* to 'root'@'%' identified by'123456'with grant option;

--这条命令允许MySQL数据远程访问,root是用户名,我后来用了另一个安装时默认的用户:mysql。%是指允许任何ip远程访问,也可以针对某ip访问。123456就是密码,可以自行设置,

然后使用命令刷新配置:

flush privileges;

2、设置iptables

理论上开放需要用到的端口就可以,但是我懒得搞了,直接关闭防火墙:

service iptables stop --停止
service iptables start --启动

 

3、修改my.cnf文件

我的主机上这个文件在/etc/目录下,而有些可能在/etc/mysql/下,如果都有,以第二个为准。

这里我主要是加入了[client]下的port参数,设置端口

还有[mysqld]的port参数

最后我的这个文件内容就这样:

 

这里有个问题,网上很多都说,配置[mysqld]下的bind-address参数,是配置监听的ip,不然默认会是172.0.0.1,在自己的电脑会无法远程连接,但是我写上这个参数,重启MySQL服务时,就会报错,提示端口被占用,无论改什么端口都一样,而且最后可以成功连接的时候,也没有配这个参数,所以挺疑惑的。

 

4、为数据库用户设置密码(默认是不需要密码)

可以进入MySQL命令行模式后,修改user表数据来设置密码:

UPDATE mysql.user SET password=PASSWORD('123456') WHERE user='root';

 

以上。

这样基本就可以在自己的电脑使用MySQL workbench来链接服务器上的数据库了,但是我一开始用root用户怎么连都连不上,查了各种方法都不行,最后抱着一试的想法,尝试用非root用户,我用的是安装时自带的用户mysql,就成功连接上了。

 

整个云主机安装JAVA+Tomcat+MySQL的流程大概就这样,可能由于我不熟悉,遇到的问题点可能不是什么大问题,总之,还是有所收获。

 

 

 

 

--2017-5-23新增

最近换了阿里云,前面的流程差不多,阿里云买的云服务器带了20g的数据盘,下面是linux挂载数据盘的方法:

参考自:http://blog.chinaunix.net/uid-20622737-id-4073320.html

df -h     查看命令,最终这个命令能看到数据盘表示已经挂载成功。

fdisk -l  这个命令可以查看系统有多少个盘,包括未挂载的数据盘,不过跟已挂载的盘会有不一样的描述。

下面开始是挂载的操作:

fdisk /dev/vdb    先执行这一句,后面的路径可能会有不同,可以通过上面的查看系统盘命令来查看数据盘的路径。

执行上面这个命令之后,根据提示,依次输入“n”、“p”、“1”、两次回车,“w”,分区就开始了。(我也懒得去管什么意思了。)

mkfs.ext3 /dev/vdb1  接下来使用这个命令来格式化分区好的数据盘,路径基本上就是未分区前的数据盘+1,可以通过fdisk -l来查看。

echo '/dev/xvdb1              /mnt                    ext3    defaults        0 0' >> /etc/fstab

然后执行这个写入分区信息,也可以直接编辑/etc/fstab文件,写入引号内的那一行内容。

mount -a    命令挂载新分区,执行完这句,就可以df -h 查看是否挂载成功了。

 

 

--2017/6/22补充

一直没时间搭建阿里云上的环境,这次抽时间,按照之前在腾讯云的方式一步步做,以为蛮顺利的,结果JDK安装好,tomcat安装好,MySQL安装好,启动tomcat,发现访问不了!!傻逼了吧。

各种找问题,考虑各种情况,查了各大网站,最后发现是安全组的问题,但是阿里云默认是配置了全部开通的安全组的啊,原因就是因为默认的安全组优先级太低,不过很奇怪,我重新配置的时候,提示优先级1-100,最高是1,但是默认的配的却是110,是否代表不起作用,这点我不清楚,反正我重新配了一个优先级别为1的,重启虚拟机,就可以了。

 

--2017/11/22补充

最近买了个域名,然后备案成功了,接下来就想通过域名来访问我的服务器啦。

好了,问题来了,域名是解析到云服务器的公网ip了,但是怎么访问我的tomcat上的项目呢。

首先,网上一堆说tomcat端口改成80的,不是不行,但是本人有强迫症,所以接受不了,然后就有了整整一下午的艰苦历程,现在归纳如下:

1、tomcat的service.xml文件,端口不改,标签的localhost改成你的域名。

样子长这样:

 

 
2、还是service.xml文件,下的标签,也是将name属性原本的localhost改成域名。
3、下面是系统配置:前面说过为了省事,把系统的iptables关掉了,现在不行了,重新开启:service iptables start(已启动的请无视)
4、然后配置开启80端口:/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
然后配置OUTPUT接口(重点,就因为这个害我搞了好久):iptables -A OUTPUT -j ACCEPT  这是开启全部,又偷懒了,嘿嘿。
然后配置端口重定向:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
再然后:/etc/rc.d/init.d/iptables restart
/etc/rc.d/init.d/iptables save
搞定,可以尝试用域名访问你的项目了。
 

 

 

 

 

 

你可能感兴趣的:(Java,Web)