Centos 部署Java项目

本文档详细介绍了如何在CentOS系统上进行网络配置、安装图形界面、配置JDK、MySQL、SSH、Tomcat及Redis等软件的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 一、修复网络链路


1.vim /etc/sysconfig/network-scripts/ifcfg-ens33 [注意一下,ifcfg-ens33后面的数字是随机产生的。]


2.将ONBOOT改为yes


ONBOOT=yes


3. 重新启动网络


service network restart


4.测试


ping baidu.com


补:如果还失效(估计不会失效)


1.修改resolv.conf


vim /etc/resolv.conf


2.添加nameserver


nameserver 8.8.8.8


补镜像源


参考:https://lug.ustc.edu.cn/wiki/mirrors/help/centos


1.首先备份CentOS-Base.repo


mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup


2.修改CentOS-Base.repo


vim /etc/yum.repos.d/CentOS-Base.repo


3.下载对应版本的CentOS-Base.repo, 放入/etc/yum.repos.d/


①这是CentOS 7的:


# CentOS-Base.repo


#


# The mirror system uses the connecting IP address of the client and the


# update status of each mirror to pick mirrors that are updated to and


# geographically close to the client. You should use this for CentOS updates


# unless you are manually picking other mirrors.


#


# If the mirrorlist= does not work for you, as a fall back you can try the


# remarked out baseurl= line instead.


#


#


[base]


name=CentOS-$releasever - Base


#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os


baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/os/$basearch/


gpgcheck=1


gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7


#released updates


[updates]


name=CentOS-$releasever - Updates


# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates


baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/updates/$basearch/


gpgcheck=1


gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7


#additional packages that may be useful


[extras]


name=CentOS-$releasever - Extras


# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras


baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/extras/$basearch/


gpgcheck=1


gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7


#additional packages that extend functionality of existing packages


[centosplus]


name=CentOS-$releasever - Plus


# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus


baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/centosplus/$basearch/


gpgcheck=1


enabled=0


gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7


②这是CentOS 6的:


# CentOS-Base.repo


#


# The mirror system uses the connecting IP address of the client and the


# update status of each mirror to pick mirrors that are updated to and


# geographically close to the client. You should use this for CentOS updates


# unless you are manually picking other mirrors.


#


# If the mirrorlist= does not work for you, as a fall back you can try the


# remarked out baseurl= line instead.


#


#


[base]


name=CentOS-$releasever - Base - mirrors.ustc.edu.cn


baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/os/$basearch/


#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os


gpgcheck=1


gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-6


#released updates


[updates]


name=CentOS-$releasever - Updates - mirrors.ustc.edu.cn


baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/updates/$basearch/


#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates


gpgcheck=1


gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-6


#additional packages that may be useful


[extras]


name=CentOS-$releasever - Extras - mirrors.ustc.edu.cn


baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/extras/$basearch/


#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras


gpgcheck=1


gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-6


#additional packages that extend functionality of existing packages


[centosplus]


name=CentOS-$releasever - Plus - mirrors.ustc.edu.cn


baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/centosplus/$basearch/


#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus


gpgcheck=1


enabled=0


gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-6


#contrib - packages by Centos Users


[contrib]


name=CentOS-$releasever - Contrib - mirrors.ustc.edu.cn


baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/contrib/$basearch/


#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib


gpgcheck=1


enabled=0


gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-6


 二、安装图形化界面


1.在命令行下 输入下面的命令来安装Gnome包。


yum groupinstall "GNOME Desktop" "Graphical Administration Tools"


2.更新系统的运行级别。


ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target


3.重启机器。启动默认进入图形界面。


reboot


 安装jdk


1.检索yum中有没有java1.8的包


yum list java-1.8*


2.开始安装


yum install java-1.8.0-openjdk* -y


三、 安装mysql


1、配置YUM源


在MySQL官网中下载YUM源rpm安装包:https://dev.mysql.com/downloads/repo/yum/


2.下载mysql源安装包


wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm


3. 安装mysql源


yum localinstall mysql57-community-release-el7-8.noarch.rpm


4.检查mysql源是否安装成功


yum repolist enabled | grep "mysql.*-community.*"


5.装MySQL


yum install mysql-community-server


6.启动MySQL服务


systemctl start mysqld


7.MySQL的启动状态


systemctl status mysqld


8.修改root本地登录密码


①mysql成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默


码,然后登录mysql进行修改:


grep 'temporary password' /var/log/mysqld.log


2018-04-10T09:36:50.584915Z 1 [Note] A temporary password is generated for root@localhost: hdzu=Uc4tbIw




②mysql -u root -p


③ 修改密码


ALTER USER 'root'@'localhost' IDENTIFIED BY 'Kate1996.';





set password for 'root'@'localhost'=password('Kate1996.');


④密码验证关闭


vim /etc/my.cnf


[mysqld]


validate_password=off


systemctl restart mysqld


9.编码utf8mb4


①查看编码


SHOW VARIABLES LIKE 'character_set%';


② 在[mysqld]字段里加入character_set_server=utf8mb4


vi /etc/my.cnf


character_set_server=utf8mb4


init_connect='SET NAMES utf8mb4'(好像没用)





[mysql]


default-character-set=utf8mb4


③重启mysql服务就生效


systemctl restart mysqld


10.远程连接


①创建用户


CREATE USER 'karl'@'222.88.236.161' IDENTIFIED BY 'karl';


②赋权


CREATE USER 'karl'@'222.88.236.161' IDENTIFIED BY 'karl';


GRANT ALL PRIVILEGES ON *.* TO 'karl'@'222.88.236.161' IDENTIFIED BY 'karl' WITH GRANT OPTION;


FLUSH PRIVILEGES;


③在[mysqld]字段里加入


bind-address = 0.0.0.0


④重启


service mysqld restart


在mysql控制台执行命令中的 'root'@'%' 可以这样理解: root是用户名,%是主机名或IP地址,这里的%代表任意主机或IP地址,你也可替换成任意其它用户名或指定唯一的IP地址;'MyPassword'是给授权用户指定的登录数据库的密码;另外需要说明一点的是我这里的都是授权所有权限,可以指定部分权限,GRANT具体操作详情见:http://dev.mysql.com/doc/refman/5.1/en/grant.html


8.开机启动


systemctl enable mysqld


systemctl daemon-reload


 四、安装ssh


yum install openssh-server


 五、tomcat8


1.建目录


mkdir tomcat8


2.解压


tar -zxvf ap.war


3.配置管理员


①修改Tomcatuser.xml


<role rolename="manager-gui"/>


<role rolename="admin-gui"/>


<user username="tomcat" password="kate1996" roles="manager-gui,admin-gui"/>


②修改,如无新建conf/Catalina/localhost/manager.xml 内容如下


<Context privileged="true" antiResourceLocking="false"


docBase="${catalina.home}/webapps/manager">


<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />


</Context>


1) 停止服务器 sudo ./shutdown.sh


2) 稍等至服务器彻底停掉,大约30秒后


3) 输入启动命令:sudo ./startup.sh


④上传war


http://192.168.47.129/manager/html


查看tomcat安装目录下的logs目录下的manager.2015-02-09.log文件可发现上传的部署文件超过了设定的大小,因此部署失败


FAIL - Deploy Upload Failed, Exception: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (53891399) exceeds the configured maximum (52428800)


解决:修改一个配置文件即可,配置文件位置:$tomcat_home\webapps\manager\WEB-INF\web.xml






http://192.168.47.129/manager/html


⑤路径设置


<Context path="" docBase="/usr/local/tomcat8/apache-tomcat-8.5.29/webapps/wechat_bussiness" debug="0" reloadable="true" crossContext="true"/>


开启端口


firewall-cmd --zone=public --add-port=8080/tcp --permanent


将发往80端口的请求转发到8080


firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080


重启防火墙


systemctl restart firewalld.service


 六、redis


1.设置Redis的仓库地址


yum install epel-release


2.安装redis


yum install redis


3.修改配置文件,监听所有的IP地址


vim /etc/redis.conf


bind 127.0.0.1


注释掉


#bind 127.0.0.1


3.启动redis


service redis start


如果需要设置开机自动启动


chkconfig redis on


另外:


如果需要redis配置认证密码


1.通过配置文件进行配置


yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到


#requirepass foobared


去掉行前的注释,并修改密码为所需的密码,保存文件


requirepass 123456


重启redis完成
### 如何在 CentOS部署 Java 项目 #### 准备工作 为了确保顺利部署,在开始之前需确认已安装必要的软件包并设置好环境变量。通常情况下,这包括但不限于 JDK 的安装以及配置 Maven 或 Gradle 构建工具。 对于 JDK 安装而言,可以采用官方提供的 RPM 包形式来简化操作流程[^1]: ```bash sudo yum install java-1.8.0-openjdk-devel.x86_64 ``` 接着设定 JAVA_HOME 环境变量以便后续命令能够识别到正确的路径: ```bash export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >> ~/.bashrc source ~/.bashrc ``` #### 配置版本控制系统 建议使用 Git 来管理源码,并将其托管于远程仓库中方便团队协作开发与持续集成服务对接。初始化本地仓库并将代码推送至远端平台完成初步准备工作之后,可以通过克隆的方式获取最新的变更记录用于生产环境中实际部署。 #### 编译打包阶段 利用 Maven 或者 Gradle 对应用程序进行编译打包处理,生成可供发布的 JAR/WAR 文件。这里以 Maven 为例展示具体过程: ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> ``` 执行 `mvn clean package` 可触发完整的构建周期直至最终产物被放置于 target 目录下等待分发给目标主机实例化启动容器镜像等动作发生前一刻为止。 #### 自动化部署方案设计 考虑到效率和稳定性因素,推荐引入 CI/CD 流水线机制实现无人值守式的发布策略。借助 Jenkins 平台配合 Docker 技术栈能有效降低运维成本的同时提高响应速度和服务质量水平。创建一个多分支管道脚本定义不同场景下的行为逻辑从而满足多样化需求特性要求[^3]: ```groovy pipeline { agent any stages { stage('Checkout') { steps { git branch: 'main', url: 'https://github.com/user/repo.git' } } stage('Build & Test') { steps { sh './mvnw test' } } stage('Deploy') { when { expression { env.BRANCH_NAME ==~ /^(main|release)/ } } steps { script { docker.withRegistry('https://index.docker.io/v1/', 'docker-hub-credentials-id') { docker.build("myapp:${env.BRANCH_NAME}-${BUILD_NUMBER}").push() } kubernetes.createDeployment( name: "java-demo", image: "zhangfan5391621/java-demo" ) } } } } } ``` 上述 YAML 片段展示了如何通过 Kubernetes API 创建名为 `java-demo` 的 Deployment 资源对象指定所使用的镜像地址为 `zhangfan5391621/java-demo` 进而达到快速上线的目的[^2]. #### 日志监控体系搭建 最后但同样重要的是建立完善日志收集分析框架帮助及时发现问题所在之处进而采取相应措施加以改进优化现有架构性能表现指标等方面内容。Prometheus 结合 Grafana 提供了一套开源解决方案可用于跟踪 JVM 各项参数变化趋势情况;ELK Stack 则侧重于文本型数据解析挖掘潜在价值信息辅助决策制定依据参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值