ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Centos7中java开发环境配置总结

2021-08-03 10:33:18  阅读:176  来源: 互联网

标签:总结 java -- 安装 Centos7 nginx usr mysql local


文章目录

linux自带的Open JDK和Oracle JDK有什么区别

  1. OpenJDK 是一个参考模型,是完全开源的,OracleJDK是OpenJDK的实现,不是完全开源的;
  2. OracleJDK比OpenJDK更加稳定;
  3. 响应性和JVM性能方面,OracleJDK更优。

摘自:JavaGuide

Linux安装jdk1.8

# 1 删除自带的OpenJDK

# 查看相关java文件
rpm -qa | grep java

# 删除相关文件
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
# 或
yum -y remove java-1.8.0-openjdk*


# 进入/usr/local目录下
cd /usr/local
# 创建Java目录
mkdir java

ll

# 安装wget
yum -y install wget

# 下载Java1.8
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm 

# 安装
rpm -ivh jdk-8u131-linux-x64.rpm

# 在/etc/profile最后一行添加环境变量相关配置
vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64
export JRE_HEOM=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

# 重新加载profile文件
source /etc/profile

# 检查是否安装成功
java -version

Linux安装MySQL5.7

本部分参考
1 https://segmentfault.com/a/1190000012703513
2 https://www.jianshu.com/p/276d59cbc529

# 1.1 确认系统安装了哪些rpm包:
rpm -qa|grep mysql

# 1.2 使用命令 rpm -ev package_name --nodeps 删除上步中检查到的所有包
rpm -ev mysql-community-client-5.6.51-2.el7.x86_64 --nodeps
rpm -ev mysql-community-server-5.6.51-2.el7.x86_64 --nodeps
rpm -ev mysql-community-release-el7-5.noarch --nodeps
rpm -ev mysql-community-common-5.6.51-2.el7.x86_64 --nodeps
rpm -ev mysql-community-libs-5.6.51-2.el7.x86_64 --nodeps
rpm -ev mysql-community-devel-5.6.51-2.el7.x86_64 --nodeps

# 若出现find: ‘/run/user/1000/gvfs’: 权限不够,参考一下链接
https://blog.csdn.net/outman_1921/article/details/106140356
# 1.3 查找老版本mysql相关的安装目录命令:find / -name mysql
find / -name mysql

# 1.4 使用命令 rm -rf directory_name 删除上步中查找到的所有目录
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysq
find / -name mysql
# 1.5 进入/etc/目录查看mysql的配置文件my.cnf是否存在,若存在则使用命令:rm –f my.cnf 进行删除。
# 论通配符的好用之处。。。
ls my*
my.cnf.rpmsave
rm -f my.cnf.rpmsave
ls my*
ls: 无法访问my*: 没有那个文件或目录

# 2安装
# 2.1在/usr/local创建mysql5.7目录
mkdir mysql5.7
cd mysql5.7
# 2.2下载  很慢很慢
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

# 2.3 解压
tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

# 2.4 将解压后的文件内容移到/usr/local/mysql中
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

# 2.5 在/usr/local/mysql目录下创建data目录
mkdir /usr/local/mysql/data

# 2.6 更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
groupadd mysql     #创建mysql组
useradd -g mysql mysql #创建mysql用户添加到mysql组
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql

# 2.7 编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)
# 2.7.1 先安装一下这个东东,要不然初始化有可能会报错
yum install libaio
#2.7.2 手动编辑一下日志文件,什么也不用写,直接保存退出
cd /var/log/

vim mysqld.log
:wq

chmod 777 mysqld.log
chown mysql:mysql mysqld.log

# 2.7.3 安装(注意,这里会生成密码)
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

# 3 编译配置文件my.cnf
vi /etc/my.cnf
# 添加配置如下:
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8

lower_case_table_names:是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,修改后,必须重启才能生效:
character_set_server:设置数据库默认字符集,如果不设置默认为latin1
innodb_file_per_table:是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别;

# 4 测试启动mysql服务器
/usr/local/mysql/support-files/mysql.server start

异常情况

如果出现如下提示信息

Starting MySQL... ERROR! The server quit without updating PID file

查看是否存在mysql和mysqld的服务,如果存在,则结束进程,再重新执行启动命令

#查询服务
ps -ef|grep mysql | grep -v grep
ps -ef|grep mysqld | grep -v grep

#结束进程
kill -9 PID

#启动服务
/usr/local/mysql/support-files/mysql.server start

在这里插入图片描述

# 5 添加软连接,并重启mysql服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

service mysql restart

# 6 登录mysql,修改密码(密码为步骤2.7.3生成的临时密码)
mysql -u root -p
Enter password:

mysql>set password for root@localhost = password('yourpass');

在这里插入图片描述

修改密码

use mysql;

update mysql.user set authentication_string=password('你的密码') where user='root';

# 刷新权限
flush privileges;

允许远程访问

# 允许root使用root从任何主机连接到mysql服务器。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

Linux安装nginx

# 安装依赖gcc(编译使用)telnent(测试使用)
yum -y install gcc telnet pcre-devel zlib-devel openssl openssl-devel

# 下载nginx
wget http://nginx.org/download/nginx-1.2.8.tar.gz

#解压
tar zxvf nginx-1.10.2.tar.gz

#进入nginx目录
cd nginx-1.10.2.tar.gz

#配置
# --with-http_ssl_module 安装ssl模块
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf  --with-http_ssl_module


#编译
make

#安装
make install

#进入sbin文件夹下
cd /usr/local/nginx/sbin
#启动nginx
./nginx

#测试
telnet 106.12.253.43 80

Linux平滑升级Nginx

参考
Nginx平滑升级详细步骤
nginx实现热部署
nginx之平滑升级详解

#本分原有的nginx
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

# 将下载好的新版本安装文件上传至服务器后解压
tar -zxvf  nginx-1.9.9.tar.gz

mv nginx-1.9.9 /usr/local/nginx/

#配置
# --with-http_ssl_module 安装ssl模块
./configure --prefix=/usr/local/nginx --with-http_ssl_module

#编译 平滑升级不需要make install
make

#将objs中的nginx复制到/usr/local/nginx/sbin下
cd objs
cp nginx /usr/local/nginx/sbin/

# 查看nginx进程id
ps -ef|grep nginx

root      4748 31370  0 13:08 pts/0    00:00:00 grep --color=auto nginx
root     11485     1  0 4月26 ?       00:00:00 nginx: master process ./nginx
nobody   32571 11485  0 09:28 ?        00:00:10 nginx: worker process

# 向主进程发送USR2信号,Nginx会启动一个新版本的master进程和工作进程,和旧版一起处理请求
kill -USR2 11485

# 此时再次查看Nginx进程就发现有俩Nginx在工作
# 向原Nginx主进程发送WINCH信号,它会逐步关闭旗下的工作进程(主进程不退出),这时所有请求都会由新版Nginx处理
kill -WITCH 11485

# 杀死旧版本Nginx主进程或者 kill -9 11485 也可以
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

Linux安装Reids

原文

cd /usr/local
mkdir redis
cd redis

# 获取资源
wget http://download.redis.io/releases/redis-4.0.8.tar.gz

# 解压
tar xzvf redis-4.0.8.tar.gz

#先得安装gcc
yum -y install gcc
yum -y install gcc-c++



# 编译
cd redis-4.0.8
make MALLOC=libc

# 编译报错:
# 进入源码包目录下的deps目录中执行,然后  重新编译
make lua hiredis linenoise

# 安装
cd src
make install PREFIX=/usr/local/redis

#启动:在src目录下输入
redis-server

安装异常记录:https://blog.csdn.net/qijkkwcw/article/details/84565324

redis编译报致命错误:jemalloc/jemalloc.h:没有那个文件或目录

make时加一个参数MALLOC=libcc

make MALLOC=libc./r

redis设置密码

修改redis.conf中的requirepass对应的值为“你的密码”

redis配置后台启动

修改redis.conf中的daemonize对应的值为yes

Linux安装node.js

官网下载配置文件

英文网址:https://nodejs.org/en/download/

中文网址:http://nodejs.cn/download/

# 解压
tar -xvf   node-v6.10.0-linux-x64.tar.xz   

# 并重命名为nodejs
mv node-v14.16.0-linux-x64 nodejs

#建立软连接
ln -s /usr/local/nodejs/bin/npm /usr/local/bin/
ln -s /usr/local/nodejs/bin/npx /usr/local/bin/
ln -s /usr/local/nodejs/bin/node /usr/local/bin/

# 检查是否安装成功
node -v
npm -v
npx -v

Linux安装yarn

# 先要安装node 检查是否安装node
node -v 

# 添加yarn仓库
wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo

# 安装yarn
yum -y install yarn

Linux安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

# 添加软连接
ln -s /usr/local/nodejs/bin/cnpm /usr/local/bin/cnpm

cnpm -v

Linux安装vue-cli

cnpm install -g vue-cli

#添加软连接
ln -s /usr/local/nodejs/bin/vue /usr/local/bin/vue

Linux安装RabbitMQ

参考:

centos从零搭建

RabbitMQ对应的erlang版本

配置参考这个:RabbitMQ用户管理,角色管理及权限设置

学习参考这个:RabbitMQ用户管理、角色管理与权限管理

前提-安装erlang

# 安装依赖
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel

# 下载
# 登录官网https://www.erlang.org/downloads 选择合适的版本号 下载source file的  这里选择的22.0
# 下载链接:https://www.erlang.org/downloads/22.0
wget https://www.erlang.org/downloads/22.0

# 解压
tar -zxvf otp_src_22.0.tar.gz
# 移走
mv otp_src_22.0 /usr/local/
# 切换目录
cd /usr/local/otp_src_22.0/
# 创建即将安装的目录
mkdir ../erlang
# 配置安装路径
./configure --prefix=/usr/local/erlang

# 查看一下是否安装成功
ll /usr/local/erlang/bin

# 添加环境变量
echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

# 刷新环境变量
source /etc/profile

# 测试erlang环境
erl

# 退出erlang
halt().

安装RabbitMQ

# 下载
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-generic-unix-3.7.15.tar.xz

# 安装xz
yum install -y xz

#解压
/bin/xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz

tar -xvf rabbitmq-server-generic-unix-3.7.15.tar

# 迁移
mv rabbitmq_server-3.7.15/ /usr/local/

#重命名
mv /usr/local/rabbitmq_server-3.7.15  rabbitmq

#配置环境变量
echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile

#刷新环境变量
source /etc/profile

用户管理

guest账户只能在本地登录,无法远程,所以需要新增admin用户,并赋予权限

RabbitMQ中主要有(详情参考消【息中间件-rabbitmq】)

  1. administrator:可登录控制台,查看所有信息,可对rabbitmq进行管理
  2. monitoring:监控着 登录控制台、查看所有信息
  3. policymaker:策略制定者 登录控制台、制定策略
  4. management:木桶管理员 登录控制台
  5. impersonator
  6. none
# 查看用户列表
rabbitmqctl list_users

# 添加用户
#rabbitmqctl add_user username password
rabbitmqctl add_user admin admin

# 删除用户
rabbitmqctl delete_user admin

# 修改密码
rabbitmqctl change_password username newpassword
rabbitmqctl change_password admin test

# 角色
# 注:如果是设置多个角色,管理界面用,分隔,命令用空格分隔。
# 将admin账户设置为administrator角色
rabbitmqctl set_user_tags admin administrator

Linux配置elasticseacher

安装参考

配置外网访问参考

运行java程序

nohup java -jar xiaonuo-eureka-app.jar >nohup.out 2>&1 &

\>nohup.out是将控制台输出的信息打印到nohup.out文件中(不挂断运行命令,当账户退出或终端关闭时程序依然运行)

2>&1的作用是将standard error信息重定向到nohup.out中

&最后一位&表示在后台运行(不配合nohup时,当前的SSH窗口不被锁定,但是窗口关闭时,程序终止运行)

运行之后会返回当前Java程序的PID

将文件改为unix格式

原文链接

注意:以下脚本笔者是在Windows上编辑的,因此默认格式是dos。如果在Linux上使用,请使用vi命令编该文件,改为Unix格式。

第一步:
上传脚本文件到Linux系统后,使用vi命令编辑该脚本文件:

vi auto_deploy.sh

第二步:
在Esc模式下冒号输入命令set ff回车就能看到,该脚本是Windows系统的dos格式,如下图

imgimg

第三步:
在Esc模式下冒号,输入修改格式命令set ff=linux,然后回车(回车后Linux系统并没有提示),完事后还是在Esc模式下输入写入保存命令:wq。

:set ff=linux
:wq

如下图

img

nginx配置https

Nginx 的 SSL 模块安装

nginx.conf配置全部内容展示

配置ssl模块并支持https访问

nginx在linux环境下的启动、停止、重启

https://www.cnblogs.com/mr-wuxiansheng/p/12505454.html

查看正在运行的程序

[root@localhost jars]# ps -aux | grep java 
root      9881 12.1  3.5 16342292 1154984 pts/4 Sl  14:45   1:19 java -jar xiaonuo-eureka-app.jar
root     10402 13.2  3.7 18027904 1222684 pts/4 Sl  14:46   1:23 java -jar xiaonuo-actuator-app.jar
root     11002 17.4  5.6 14278812 1836148 pts/4 Sl  14:46   1:45 java -jar xiaonuo-config-app.jar
root     11628 17.3  4.6 17244612 1520132 pts/4 Sl  14:47   1:35 java -jar xiaonuo-gateway-app.jar
root     12250 20.7  6.1 14823644 2000036 pts/4 Sl  14:47   1:47 java -jar xiaonuo-sample-app.jar
root     13212 78.7  9.7 16186012 3202192 pts/4 Sl  14:52   2:51 java -jar xiaonuo-main-app.jar
root     14123  0.0  0.0 112828   984 pts/8    S+   14:56   0:00 grep --color=auto java (grep进程本身  这玩意可别乱碰昂)

redis启动关闭命令

启动服务

以117.34.91.41平台的redis为例

# 进入reids bin目录
cd /usr/local/redis/bin
# 启动
./redis-server ./redis.conf

关闭服务

# 进入reids bin目录
cd /usr/local/redis/bin

# 关闭服务
./redis-cli showdown

启动客户端

# 进入reids bin目录
cd /usr/local/redis/bin

./redis-cli 
auth Amdin888

标签:总结,java,--,安装,Centos7,nginx,usr,mysql,local
来源: https://blog.csdn.net/qq_43049006/article/details/119343246

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有