原文地址:https://blog.csdn.net/Cs_hnu_scw/article/details/79125582
本篇博文,主要是讲解一下在Linux环境如何进行搭建Web开发环境,因为如果不会部署项目,那么也注定只能当码农了,所以,这个也是要了解的,我相信,你看了之后,肯定会有所收获的,因为都是干货,都是自己特意为了写这篇博文,而特意去搭的配置环境,所以,方便更多的人从头开始学习~~!认认真真看完这篇博文,如果还不会,就联系我,不过,我相信,这个不存在的,因为都是彻彻底底的干货~!
系统环境:
1:阿里云服务器(Linux系统——-具体点就是Ubuntu系统),如果用的系统不一样,里面有些配置,稍微有点改变,但是不多
2:Windows7——这个还是必须要的
3:Linux版本的JDK8
4:Linux版本的Tomcat8
5:Linux版本的Mysql5.1
6:建议,至少对于Linux系统有一定的了解,最起码的基本命令要会,每个根目录的含义。欢迎阅读,
我另外一篇对于Linux系统的详细讲解。
http://blog.csdn.net/cs_hnu_scw/article/details/77745322
(一)JDK的安装
步骤:
(1)下载Linux的JDK,建议采用1.8,毕竟1.8里面有很多新特性,觉得挺好的,当然采用1.7也没有任何问题
JDK下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
备注:注意看自己服务器是多少位,就下载相应的位数,否则后面会出问题。如果是在阿里云的,用的ubuntu系统,那么就应该是32位,这个看看自己服务器就知道了哦
(2)将下载好的JDK,移动到Linux服务器中
这里需要下载个软件,叫做FileZlilla(https://filezilla-project.org/download.php?type=client)用于本地电脑与远程服务器的文件上传和下载。
另外,还要下载个windows链接Linux系统的软件,可以用putty(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)用于windows操作远程服务器(Linux) ,还可以用。。我用的是后者,习惯一点。。
下载好FileZlilla软件之后,就直接运行登陆,然后就是正常的将windows资源,移动到Linux对应想要的目录就可以了哦。。。建议的话,一般把JDK的安装,放在Linux服务器中的/usr/下的目录,可以自己创建一个叫做java目录即可。然后把JDK移动到服务器这里。
(3)解压JDK的压缩包
这个就是通过第二个软件,从windows连接到Linux服务器进行的操作,如果Linux没有学习过的,建议看看我的另外一篇文章,
命令:tar zxvf JDK压缩包名字
(4)配置环境变量
命令:vim /etc/profile
在文件内容中的最后部分,添加如下的内容
(5)重启配置文件的信息
命令:source /etc/profile
或者,直接重启服务器即可,这个可以在阿里云上面直接进行重启,或者通过命令:reboot即可
(6)测试JDK是否安装成功
命令:java -version
出现下面内容,即表示安装成功
可能出现的问题:
1:如果,出现类似binary ………XXXXXXX的错误信息,
解决办法:那就是表示你安装的JDK的位数和服务器的位数不匹配,所以这个一定要看好,选择对应的版本。。。。。。
2:系统本身的命令,都无法使用。
解决办法:这是因为,在配置环境变量的时候,没有将系统的tools命令添加进去,并且在配置文件中,出现了语句问题,所以导致的。由于,系统本身的命令都无法使用,那么vim 就不能打开了,只能通过/usr/bin/vi /etc/profile 这样的方式,重新进行编辑修改即可。
(二)Tomcat的安装
步骤:
(1)下载Linux版本的Tomcat(下载后缀名是tar.zip)
这里的话,你想用tomcat7或者tomcat8都随自身的需求来进行即可,没有什么硬性规定。
(2)将下载好的Tomcat移动到Linux服务器上
关于,如何从windows将文件移动(复制)到Linux系统上,这其实有很多的方法,在安装JDK的知识点中,就已经介绍了这个,不明白的请查看上面知识点。
关于上传的路径的话,传到自己喜欢的路径就好了,不过建议一般是放在/usr/这个目录下,而我这里是在/usr/下面创建了一个新的目录叫做tomcat.
(3)在服务器上解压上传的Tomcat压缩包
使用命令:taz zxvf xxxxxxxxxxx.tar.zip
备注:这个解压的话,是在你上传后的那个路径下进行解压即可,当然也可以将个这个文件拷贝到自己想改变的目录下,然后再解压,这也是没问题的。而我这里是解压到/usr/tomcat/目录下。
(4)启动tomcat
进入到安装的tomcat的目录下的bin目录
比如:我自己的:cd /usr/tomcat/apache-tomcat-8.5.24/bin
然后直接运行 ./startup.sh
(5)显示结果
(6)通过浏览器进行访问
备注:在这里,我们一般是在服务器里面看一下,支持访问的端口有哪些,也就是看看防火墙对于哪些是支持访问的。(Ubuntu系统里面是默认防火墙没有开启的,所以,这一步其实可以省略,但是还是说一下,因为可能就有人之前设置了开启,这里就会出问题。。可以通过命令ufw status 查看,如果显示的是inactive,表示的就是没有开启防火墙,那么就没问题,如果是显示了active,那么显示就是开启,并且下面就会显示对应的端口信息,然后输入命令ufw allow 8080,即可表示8080端口支持访问)
访问方式:
http://IP地址:8080
(7)本以为,很成功,,,,然而,访问却显示无法访问,这个到底是怎么回事呢?配置,挺顺利的呀。。。。。。
重点来了~~~~~~~~~
原因分析:这是因为,使用阿里云的服务器,它里面设置了安全组的管理,并且对于8080端口,是默认不支持进行访问的,所以,我们通过这样的形式进行访问,端口是被拦截了的,所以,,,结果就是无法访问,那么,如何解决,请继续往下看~!
(8)进入阿里云服务器管理界面
点击更多:
(9)进入服务器安全组的界面
(10)配置规则
(11)配置结果
(12)重新通过http://IP地址:8080
我们可以看到,,,,终于显示成功了。。。感动ing
(三)Mysql的安装
版本:mysql5.7
步骤:
直接在服务器下面执行下面的步骤:(注意区分自己的角色权限,分别对应不同的执行命令)
(1)升级apt-get
apt-get update
如果不是root用户,就要用下面的代码:
sudo apt-get update
(2)安装mysql-client-core-5.7
apt-get install mysql-client-core-5.7如果不是root用户,则用下面的命令:
sudo apt-get install mysql-client-core-5.7
(3)安装mysql-client-5.7
apt-get install mysql-client-5.7如果不是root用户,就执行下面命令:
sudo apt-get install mysql-client-5.7
(4)安装mysql-server-5.7
apt-get install mysql-server-5.7如果不是root,就执行下面命令:
sudo apt-get install mysql-server-5.7
(5)检查mysql是否启动
1.查看mysql进程是否运行
ps -ef | grep mysql
2.查看msyql 监听端口
netstat -tap | grep mysql
(6)开启mysql
service mysql start
(7)关闭mysql
service mysql stop
(8)重启mysql
service mysql restart
(9)当mysql服务,开启之后,进入mysql
执行命令:
mysql -u用户名 -p——————-》然后再输入我们安装mysql时候,输入的密码即可。
例如:
然后,就和windows中mysql的dos控制内容一样了。。
解决:外网访问服务器的数据库问题
问题:当服务器的mysql服务安装成功之后,那么我们肯定是想通过windows的客户端来访问服务器的数据库了,如果,我们上面都没有进行配置的话,肯定是外网客户端访问不了的,那么就需要从下面几个方面进行设置:
(1)修改服务器中mysql的配置文件
使用命令:
vim /etc/mysql/mysql.conf.d/mysqld.cnf
然后,注释下面的代码:
vim /etc/mysql/my.cnf然后,就从服务器执行上面这个命令就发现是下面的内容:
发现,和我们要配置的不一样。。。。。。所以,对于系统是Ubuntu的一定要注意。。。。。
(2)修改阿里云的安全组端口控制问题
具体的步骤,请查看,对于Tomcat安装的步骤
只是需要将3306这个端口也加入到安全组里面去就可以了,请参考添加8080端口的步骤。。
(3)在mysql中设置运行外网访问权限
备注:这个代码是在进入mysql中执行的,也就是在通过mysql -u账号 -p密码之后执行的。。
grant all privileges on . to root@"%" identified by "xxxx" with grant option;
然后再执行下面的代码:
FLUSH PRIVILEGES;
解决:mysql无法插入中文,插入中文乱码的问题
方法:通过下面的命令:
vim /etc/mysql/mysql.conf.d/mysqld.cnf然后,添加下面的标注的内容:
character-set-server=utf8
collation-server = utf8_unicode_ci
init_connect = 'set collation_connection = utf8_unicode_ci;'
然后,再进入mysql中,执行命令
就可以看到数据库的编码方式都变成了utf8,这样的话,插入中文就不会显示乱码问题。测试结果如下(在windows客户端查看的结果):
解决:服务器中mysql服务自启动的方法
这个的话,方法很多的,下面主要说两种方法:
方法一:
服务器中执行命令:
update-rc.d mysql defaults
备注:移除MySQL的开机服务可执行命令update-rc.d mysql remove
方法二:
服务器中执行命令:
apt-get install sysv-rc-conf然后再执行命令:
sysv-rc-conf结果如下:
上面就表示mysql的服务已经自启动了。。。具体的操作方式:用鼠标点击,也可以用键盘方向键定位,用空格键选择, “X”表示开启该服务。用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。
mysql的服务自启动就可以了,类似的,还可以把Tomcat也弄成服务器开启的时候就自启动的功能,但是一般不这样进行设置,因为Tomcat不需要这样相对好一些。
(四)将Web项目打包成war包发布到服务器
描述:既然我们已经有了服务器,而且通过上面的步骤,也已经把环境都测试通过了,那么就需要进行真正的服务器部署项目了,通过这样的方式,就可以利用外网来进行访问我们的Web项目,从而来给其他的人进行访问,避免只能进行本地访问的缺点。我们都知道,Web项目是利用war的发布,而比较我们写的一个工具类,想给别人项目进行引用,那么这时候就需要把对应的类打包成一个jar包,这样别人引用jar包就可以实现其中的方法。
所以,下面就是讲解,如何将自己写好的web项目,打包成war,然后发布到服务器。
步骤:
(1)在windows中编写,自己的web项目。(当然,这个你也可以在Linux系统进行编写,只是其中有些不方便,你是懂的)
(2)将写好的项目进行打包。(我用的编辑器是IDEA,所以,讲解这个。如果你是使用的Eclipse,就可以看看其他的博文,这个很简单的,没什么复杂的问题)
步骤点:
1:
2:
3:
4:
5:点击OK,即可。。。。。
6:
7:
8:然后再去你自己对应的工程里面的,out–》artifacts—》填写的名字—》就能找到对应的war包
(3)通过FileZilla软件(这个上面知识点有说过是干嘛的,和如何使用),将刚刚生成的war包,上传到服务器中你安装的Tomcat目录下面的webapp的目录下即可。。。
(4)启动Tomcat。。。。。。。。。。
(5)测试。。。。。。。。。。你只需要输入你服务器对应的IP地址:8080/项目名/入口URL即可。。。。。(这个其实和本地测试一样,只不过是换了访问地址而已)
————————————大功告成——————————————————————
再说一个小知识:比如,我们不想访问的时候加8080端口,这个怎么配置呢?其实和在windows下配置tomcat一样。。
步骤:(1)打开服务器中tomcat中的server.xml
命令:vim server.xml —————》前提,你是在tomcat目录下的conf目录下
(2)找到Connector这个标签,然后将port=8080,改成80,即可。。。因为默认是8080端口……。。。。对于,为什么是修改这个标签,我这里不多说,因为是关系到tomcat中的配置文件的具体内容和tomcat的工作流程,我觉得,这个有必要去了解的,这样之所以tomcat能联通项目,它的工作流程是很有用的,主要就是连接器Connect和容器container的工作。
(3)保存退出,然后重启Tomcat,这样访问就不需要添加8080端口,就也可以访问啦。
OK,上面这些内容,就讲解了,如何在阿里云部署整个Web环境了,其实也不难,只要慢慢熟悉就好,其中要慢慢熟悉Linux的一些常用命令也是值得的。。。。感谢大家的浏览,欢迎进行交流~