闲来无事打算弄个腾讯云玩玩,以下记录下摸索的过程,其中参考了很多网上的方法,因为这里查一点那里查一点,我就不做转载说明了,在此感谢那些博客的博主。
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文件,端口不改,
样子长这样:
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
搞定,可以尝试用域名访问你的项目了。