Linux 中Tomcat部署的java程序 是由root 运行的还是一般用户运行的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 中Tomcat部署的java程序 是由root 运行的还是一般用户运行的相关的知识,希望对你有一定的参考价值。

最好别用root运行,root用户权限是最高的,启动的话会修改某些文件夹权限,经常会导致用户无权访问静态资源。举个例子,你root启动了以后会修改某些文件夹的权限,就只能root能访问了,然后你再用PC访问项目,上传文件或者下载文件的功能有时候会报错,错误就是权限不足,也有些图片都加载不出来的。所以建议新建用户,给指定权限,可以ll一下看用户有哪些权限。 参考技术A 最好新建用户运行,用root可能权限过大,误删了东西

把我的Java项目部署到Linux系统

 

以前,还未毕业,凭借自己三脚猫的功夫,只会在Windows环境中使用tomcat容器把项目跑起来。

以前的操作是,利用Eclipse把项目导出成War包,放到tomcat的webApp文件夹中,鼠标点点运行tomcat即可。现在想想,简直low到爆。

 

实习了小半年,自己搞了一个小小的java项目,决定把它部署到新买的Linux服务器上去。顺便提高一下自己的Linux基础。

 

 

前期准备

1.一台Linux服务器(centOS7)

2.你的工作台 (mac电脑)

3.项目源码(使用sprintBoot+springDateJpa,使用mySql数据库)

 

一、安装配置MySql数据库

        打算先把MySQL数据库装mac上做成数据库服务。  

  (1)官网下载安装包(http://dev.mysql.com/downloads/mysql/)

  (2)下载mac版本的mysql,mac版本安装好之后会在系统偏好设置里面出现一个mysql服务(但是作为程序员,规定自己不能使用图形用户界面)

  (3)定义别名使用命令行的方式启动停止mysql

      alias mysqlstart=sudo /usr/local/mysql/support-files/mysql.server start

      alias mysqlstop=sudo /usr/local/mysql/support-files/mysql.server stop

  (4)配置mysql环境变量。

      1. vi ~/.bash_profile 

      2. export PATH=${PATH}:/usr/local/mysql/bin

      3. source ~/.bash_profile

   (5)修改数据库root密码。安装过程中,mysql安装程序会自动给你一个初始化密码(一定要保存好,不然有点麻烦)。

      1.登陆数据库 mysql -u root -p

      2.修改密码 mysql> SET PASSWORD FOR ‘root‘@‘localhost‘ = PASSWORD(‘newpass‘); 

  (6)添加一个mysql的用户,并允许该用户远程访问数据库

      1.mysql -u root -p

      2.CREATE USER ‘guxiaoli‘@‘localhost‘ IDENTIFIED BY ‘123456‘; 

      3.grant all PRIVILEGES on dateBase.* to [email protected]‘%‘  identified by ‘123456‘;(授权guxiaoli用户可以使用任意ip访问‘dateBase数据库的所有表’)

        (dateBase.*  代表某数据库的某表,所有可用*.*。‘%‘代表所有ip,如果限定ip,把ip替换掉%。如果不授权远程账号,将会出现Host ‘XXX‘ is not allowed to connect to          this MySQL server错误)

  (7)改变mysql编码格式。mysql默认的编码格式是laint1。需要将其改变成UTF-8编码格式。

       1.安装好的mysql,会在目录 /usr/local/mysql/support-files中,有个文件,名为my-default.cnf

       2.把my-default.cnf文件移动到 /etc目录下,并改名为 my.cnf

       3.修改my.cnf文件内容。在[mysqld] 下面添加   ‘character_set_server=utf8‘

       4.重启mysql服务

 

  踩坑提醒: 1.再用命令行操作mysql数据库的时候,命令行末尾要加上分号。加了分号之后mysql才会识别这是一条完成的命令,再去执行。

      2.!!!一定要把my-default.cnf 移到/etc目录下!!!。我改了半天的my-default.cnf文件,重启mysql...重启mac...并无卵用。

      3.在启动mysql的时候可能会报错:The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

       报这个错误的原因有很多种。试试这种方法:在my.cnf的配置文件里指定pid File,

       [mysqld] 下 pid-file = /usr/local/mysql/data/mysql.pid

      4.别忘了允许用户远程连接mysql

 

二、搭建Linux环境

   搞了个Linux服务器,对自己狠一点,不要装图形化界面,全程命令行。好么。

  (1)ssh。为了能更好的访问并操作Linux系统,搭建ssh无密码服务登陆。简便又安全。

      1.进入到Linux服务器中(ctrl+alt+F2进入终端)

      2.查看系统有没有ssh服务     rpm -qa |grep ssh 

      3.如果没有安装ssh服务 安装ssh服务 yum install ssh

      4.启动,停止,重启ssh服务, service sshd start | stop | restart

      5.ssh的默认端口是22 ,一定要把Linux的端口开放给外界!

  (1)JDK 。centOS系统有自带的java环境。是openJDK的版本。开发环境中使用的是sun的JDK,决定保持一致。

  (2)卸载OpenJDK。

 

。。。。。待续      

    

    

 

      

 

  

 




以上是关于Linux 中Tomcat部署的java程序 是由root 运行的还是一般用户运行的的主要内容,如果未能解决你的问题,请参考以下文章

java项目怎么部署到linux服务器啊?

怎么在linux下用tomcat部署java web项目?

java 的jar包 怎么部署在window 环境和linux环境

tomcat部署与多实例

环境搭建:linux下tomcat接口测试环境部署

使用 War 文件部署到 Tomcat 导致 ClassNotFoundException