linux下的web项目的发布和操作一般都非root用户,所以需要创建一个普通用户来发布程序
普通用户的权限不高,只能对自己知道的用户下的文件进行操作(当然还得看root分配的权限)
创建ucenter用户:
useradd -d /ucenter ucenter
设置密码:
passwd ucenter (密码 ucenter)
切换用户:
su - ucenter
具体添加和分配权限的相关信息可以参考
点击打开链接
创建好用户以后,切换到相关用户下去安装和部署项目
部署项目前需要先搭建一个web项目服务器
这里就以tomcat为演示,当然jetty和一些web服务器都可以
tomcat不需要安装,解压就可以了
1、 创建web目录
mkdir /ucenter/web
2、 上传apache-tomcat-7.0.57.tar.gz (上传tomcat,或者自己下载)
3、 解压:tar -xvf apache-tomcat-7.0.57.tar.gz (解压tomat)
4、 重命名:mv apache-tomcat-7.0.57 tomcat7 (重命令,可以根据项目的名称命令,因为有可能一台服务上安装多个tomcat,便于维护和管理)
5、 启动tomcat:cd tomcat7/bin/ (进入tomcat的启动目录,就是tomcat的bin目录,和windows差不多)
./startup.sh 或者 sh startup.sh (启动tomcat ,两种方式)
6、 查看日志:
tail -f ../logs/catalina.out (查看tomcat的日志,和windwom一样)
主要: tail -f 动态查看文件内, tail 查看文件内容,但是文件内容有变动的时候不会立刻刷新出来,需要再次输入命令
查看效果 http://192.168.0.160:8080/ (通过外部访问该linux的taom)
这时候你会发现,外部无法访问,但是本机的确启动了日志也输出了启动成功了,结果就是这样
那是因为linux默认所有的端口,不管是默认的还是自己定义的,默认都是关闭的,
但是凡事无绝对,好像有几个基本的端口是对外开放的,可以自己百度呵呵
那么找到了问题,知道是防火墙的问题,所以我们需要手动开启tomcat设置的端口 我的是默认的8080
防火墙打开 8080 端口
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT (开启指定端口的的防火墙,但是是临时的,重启服务器后会失效)
/etc/rc.d/init.d/iptables save (永久保存当前开始的端口)
能访问到taomcat说明服务器搭建好了,那么接下来就可以发表自己的web项目了
1、进入到该taomcat的webapps,cd tomcat7/webapps
2、传已经打包好的war包
这里有一个小小的建议:可以手动解压war包,然后把该目录下的ROOT的目录及其子目录全部删掉,然后把解压以后的项目重名了为ROOT,这样外部访问项目的时候
就可以直接通过ip+端口直接访问项目的初始页了,而不需要加项目名称,当然这样做的缺点就是一个tomcat只能发布一个项目,不过个人认为一个tomcat发布一个项目
比较好,多个项目可以用多个tomcat。当然也可以先启动项目,再次回到webapps下删除ROOT目录和重命名,这样就可以不用手动解压war包
3、修改一些配置,比如数据库连接,外部服务域名连接,以及本地dns解析
4,启动项目,并动态查看日志
cd ../bin/ (切换到tomcat的bin目录)
sh startup.sh && tail -f ../logs/catalina.out (启动项目并立刻查看日志)
注意:&&命令的作用,这个和java的语法一样逻辑且的意思 前一个命令正确执行,同时后一个命令也正确执行,才显示结果,这里的正确执行,不是执行完毕,只有命令没错就算正确执行,也不是前一个命令执行完毕才执行后一个,比如这里启动项目,动态查看日志,是两个命令,其中一个命令出错都不会执行的,比如查看日志的语法错误,项目启动的命令也不会执行的,也不是前一个命令执行完毕才执行后一个(项目启动完毕才查看日志)
这样你的项目就算启动了,当然前提在一切配置正确的情况和没有语法错误的情况下,呵呵
当你再次输入ip加端口的时候你就是真正的访问到了你的项目,你会发现日志会有访问信息输出tomcat日志