Linux服务器部署JavaWeb项目完整教程 (linux服务器)

教程大全 2025-07-10 02:49:22 浏览

本文大部分参考网上其他教程,是实际操作后回过头来的一些总结,希望可以对正在部署项目的你有所帮助。

基本环境:Centos7、tomcat8、jdk8,MySQL5.6、nginx

安装JDK

yum install Java-1.8.0-openjdk* -y

使用yum安装,无需配置系统环境,执行完这条命令后JDK就安装好了。

安装Mysql

我们这里使用Mysql,如果使用MariaDB ,一般云 服务器 有安装,只需要升级就可以。

安装步骤:

# wgetrpm -ivh mysql-community-release-el7-5.noarch.rpm# yum install mysql-community-server

重启Mysql服务:

# service mysqld restart

重启后,我们使用如下命令进入MySQL,因为MySQL默认没有密码。

# mysql -u root

进入MySQL后,我们使用如下MySQL

set password for ‘root’@’localhost’ =password(‘password’);

至此,MySQL数据库基本安装完成,有时开发过程中,为了方便,希望通过本地的可视化工具远程连接线上的数据库,这时可以运行以下命令来开放数据库的远程连接。

grant all privileges on *.* to root@'%'identified by 'password';

安装tomcat

tomcat的部署最简单了:

1,直接下载然后拖到linux的/home文件夹下面(下载版本如下);

2,通过Xftp将打包好的war文件拖拽到webapps文件夹下,这个和在windows下的操作无区别,这部分细节不说;

3,启动tomcat服务器指令:

停止服务指令:

执行跟踪日志命令

cd /home/apache-tomcat-8.5.23/binnohup ./startup.sh &

进入编辑器进行修改,修改完成后点击 esc,然后输入 :wq 这样就保存退出了。之后重启tomcat,配置就生效了。

1、安装GCC g++开发类库

安装Make

安装g++:

yum -y install gcc automake autoconf libtool make

2、选定安装文件目录

可以选择任何目录,本文选择 cd /usr/local/src

cd /usr/local/src

3、安装PCRE库

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:

cd /usr/local/srcwget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gztar -zxvf pcre-8.37.tar.gzcd pcre-8.34./configuremakemake install

4、安装zlib库

下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:

cd /usr/local/src

wget-zxvf zlib-1.2.11.tar.gzcd zlib-1.2.11./configuremakemake install

5、安装openssl(某些vps默认没装ssl)

cd /usr/local/srcwget-zxvf openssl-1.0.1t.tar.gz

6、安装nginx

Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:

cd /usr/local/srcwget-zxvf nginx-1.1.10.tar.gzcd nginx-1.1.10./configuremakemake install

7、配置nginx

因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。

Linux服务器部署Web项目完整教程

linux 修改路径/usr/local/nginx/conf/nginx.conf,Windows 下 安装目录\conf\nginx.conf。

修改端口为8090,localhost修改为你服务器IP地址

8、nginx重启、关闭、启动

启动

启动代码格式:nginx安装目录地址 -c nginx配置文件地址

例如:

[root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

停止

1、查看进程号

找到nginx master端口

2、杀死进程

[root@LinuxServer ~]# kill -QUIT 2072

重启

1、验证nginx配置文件是否正确

方法一:进入nginx安装目录sbin下,输入命令./nginx -t

看到如下显示nginx.conf syntax is ok

nginx.conf test is successful

说明配置文件正确!

Nginx配置正确,我们可以执行重启Nginx命令了,方法是进入nginx可执行目录sbin下,输入命令 ./nginx -s reload 即可。

总结

以上所述是小编给大家介绍的Linux服务器部署JavaWeb项目完整教程,大家如有疑问可以留言,或者联系站长。感谢亲们支持!!!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。


Java软件开发者,如何学习大数据?

1.基础的编程语言(java,python)

2.编程基础(linux操作,数据库操作、git操作)

3.大数据里面的各种框架(hadoop、hive、hbase、spark)

真正的大数据的学习不能仅仅停留在理论的层面上,比如现在经常用到的spark框架目前支持两种语言的开发java或者Scala,现在python语言也能支持了。 大数据的方向的切入是全方位的基础语言的学习只是很小的一个方面,编程落实到最后到编程思想,有了指导思想学习起来就能方便很多。

大数据在使用过程中因为涉及很多框架的部署,而且大部分的部署都在linux环境下,所以掌握linux基本的命令是必须具备的,linux虽然在桌面系统上应用范围不是很广泛,但在服务器端还是收到很大的推崇,命令的学习相对而言还是比较简单。

大数据主流的框架hadoop了,里面涉及到的框架又是非常的庞大,以致于很多人觉得学习大数据就是学习hadoop了,毕竟属于主流体系,但很多公司的做法是几个框架混合起来使用,达到最高的效果。

在node.js领域中哪一个框架用来架构API比较好

程序 or 框架?程序是已经成型的应用,你需要的是为它搭建环境、添加配置,然后就可以运行起来;框架则是应用的骨架,你需要为它添加数据模型、业务逻辑,它才能成为应用,开始提供服务。 事实上,对于Web开发来说,程序和框架的区别正越来越模糊,比如几乎妇孺皆知的Wordpress,它是一个博客程序,但它丰富的插件以及高度的 自定义能够支持很大程度上的二次开发,在这点上它比起一些PHP框架也并不逊色。 我个人认为,如果重心在于提供服务而不是掌握技术,有WordPress 这样的程序是没有必要使用框架的。 可惜的是,由于Nodejs还很年轻,目前还没有WordPress这样的程序,因此目前在开发里,如果想做出自己想要的作品,框架是必然的选择。 如果是某些特定类型的应用,可以尝试一些开源的程序,比如要用Nodejs做博客,有Hexo、Ghost等。 回到顶部 Web框架有哪些?里的Web框架分为API框架和Web应用框架。 前者能够开发出RESTful的API,后者也能开发出RESTful API,但还包括模板、渲染等为前端所准备的功能。 API框架的使用场景是为跨平台应用提供统一的数据模型,而渲染由前端/客户端自行解决。 目前比较知名的API框架有restify(文档、Github、NPM)(官网、Github、NPM)LoopBack(官网、Github、NPM)Frisby(官网、Github、NPM)(官网、Github、NPM)Web应用框架顾名思义,就是为了打造Web应用所开发的框架。 这里有两种风格的Web应用框架。 一个是Sinatra风格,另一个是Rails风格。 Sinatra和Rails都是Ruby语言的Web框架,后者的影响力更大也更为知名。 这里简单的解释一下两种风格是什么意思。 Sinatra风格是指高度可配置,注重开发的自由度。 代表性的Nodejs Web框架有:Express(官网、Github、NPM)TJ大神开发,官方推荐 hapi(官网、Github、NPM)(官网、Github、NPM)flaliron(官网、Github、NPM)(官网、Github、NPM)locomotive(官网、Github、NPM)Rails风格则是指不重复自己和约定优于配置,以及严格遵循MVC结构开发。 代表性的框架有(官网、Github、NPM)geddy(官网、Github、NPM)CompoundJS(官网、Github、NPM) 原railswayjs这两种风格无所谓谁优谁劣,全凭使用者的偏好。 而在这两种Web框架之外,还有更大型的框架,即全栈框架,其中的代表是MEAN。 回到顶部MEAN?MEAN指MongoDB+Express++,这一组合包括运行环境、数据库、Web框架和前端引擎。 被称为 全栈框架(Full-stack framework)。 这其中除了之外,每一个都是可替换的,目标是创建从前端到后端,全部使用javascript的Web应用。 由于这一框架的完善性,有人将其称为LAMP的接班人。 LAMP即PHP的典型运行环境,Linux+Apache+MySql+PHP,被大量的用于各种虚拟主机上。 MEAN看似庞大,但事实上要构建完整的现代化Web应用,特别是SPA(单页面应用),这几个组件都是难以缺少的,并且,其中每一项几乎都是目前 情况下的最佳选择,因此用于学习和重头开始打造新的Web应用是非常合适的。 但由于实际业务的独特性,很可能要替换其中的组件,比如用Mysql来替换 MongoDB,因此,学习其中的原理和架构,打造自己的类MEAN框架也是一种选择。 作为个人和小团队来说,全栈框架MEAN基本上足够了,但目前大多数全栈框架还包含一项特性,那就是实时,拥有实时功能的框架我们又称为实时框架。 回到顶部实时框架好吗?实时框架(Real-time framework)指包含了webSocket的双向通信功能,能够在服务器和客户端做到实时通信的框架。 服务端和客户端自由通信的需求一直都在,但由于HTTP协议本身的局限性,因此催生了Comet等变通的方法,但即使这样也离实时相距甚远。 而当 兴起后,另一个HTML5技术webSocket也渐渐成熟,人们突然发现,实时通信一下子变得触手可及,于是webSocket技术在 中得到大量的应用,其中最为知名的模块就是,而各种全栈框架也纷纷加入实时特性来应对更广阔的开发需求。 目前有代表性的实时框架有:Meteor(官网、Github、NPM)(官网、Github、NPM)Derby(官网、Github、NPM)SocketStream(官网、Github、NPM)不过说实话,目前能看到的实时通信的应用场景其实不多,其中大多集中于聊天室、to-do、实时图表、在线游戏等领域。 其他领域使用实时特性不但没必要,而且是对服务器资源的浪费。 因此目前是否要采用实时框架,要看具体的项目而定。 以上基本就是 Web框架的现状了,相信看到这里,对于选择何种框架读者已经心里有数了吧。 最后再介绍一个容易搞混的概念,和解释一下我的选择。 回到顶部YEOMAN?第一次见到这个词,我还以为它和MEAN有什么联系。 事实上,它们是截然不同的两个东西。 YEOMAN由YO(脚手架)、grunt(构建工具)、bower(包管理器),它代表的是一种工作流,与框架开发的思维方式完全不同。 具体的介绍可见这里。 YEOMAN能够和框架达到类似的目的,都是为构建一个Web应用做好准备,但是要不要采用YEOMAN,则是见仁见智。 我个人的看法是,学习 YEOMAN本身就需要不少时间,并且有一定的学习门槛。 至少在目前,使用框架开发还是相对经济的,而如果以后YEOMAN这种模式推广开来,再来学习也 不迟,更何况有一定的项目经验之后再来学习YEOMAN要轻松很多。 事实上,我还是很认可YEOMAN这种Generator+package Manager的模式的,这是因为本身崇尚微模块的 概念,即无论是多么小的功能,都将它们模块化,甚至大的模块也要拆分成小的模块,然后通过搭积木的方式来构建应用。 这样能够彻底的解耦,对于不容易调试的 Javascript来说,也有助于定位和修复应用中的问题。 Generator就是这种理念催生下的产物,通过选择不同的配置和选项,将积木搭起来。 不 过对于这种模式目前大家也还处于实验当中,不急于进行实际应用。 回到顶部为什么我选择了Hackathon Starter?在我的个人项目中,使用的是Hackathon Starter,一个 Web应用脚手架。 我使用它的原因是,要求高度可配置,同时又讨厌写一些配置的代码,因此它对于我来说是很好的选择。 一些全栈框架对我来说,封装过多,将原生的 /Express API隐藏掉了,要使用还需要一定的学习成本。 而Express这样的框架又太过简洁,在实际的项目中使用还需要大量的插件和配置,而这些在 Hackathon Starter中都已经帮我们做好了,同时还有一些示例代码以供学习,对于新人来说非常友好,可以避免过多的挫折感。

java中好多东西都有生命周期的,比如session的生命周期?servlet的工作原理和生命周期?

session是指一次的会话时间,也可以设置其生命周期(10);这个语句设置了session的生存周期为10秒钟。 类似session的还有很多。 如:1、 page,其范围是在一个页面内,跳转到其他页面在该页面设置的值是访问不到的。 2、request ,通过使用request对象的setAttribute()方法将数据设为request对象的属性值,这个值可以随着一个JSP页面请求传递到另外一个Jsp页面,随后这个属性值就无效。 3、application,application代表了服务器的整个运行周期,所以,只要服务器没有停止服务,通过application设置的属性值就会永远存在,这些属性可以非常方便的在页面之间传递。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐