CentOS7 安装java 环境 摘抄

服务器环境配置

下面介绍全新安装的CentOS系统服务器安装配置商城软件服务环境的方法。演示主机操作系统为CentOS 7.3,SSH登录客户端为Xshell 5,需用户自行到官网下载。本文仅演示默认配置,各种服务器调优方法请参考其它文章


登录服务器

1、首先打开安装好的Xshell 5软件

2、点击【文件】--> 【新建】,在弹出的对话框中填写名称(名字随意),主机填写服务器IP,端口填写实际端口号

3、点击左边的【连接】--> 【用户身份验证】项,填写服务器的root账号和密码,点击确定

4、在弹出的对话框中点击【连接】

5、登录成功界面

 

创建新账户

1、创建普通账号

演示创建一个名称为diyhi的用户。#号为注释,不用输入

useradd diyhi #创建普通账号

passwd diyhi #根据提示设置密码,需要输入2次

2、设置账户权限

Linux默认是没有将用户添加到sudoers列表中的,需要root手动将账户添加到sudoers列表中,才能让普通账户执行sudo命令

A.输入visudo命令。这个命令是打开 /etc/sudoer文件,这时编辑框为命令模式,这时输入字母i进入插入模式,就可以编辑文件了

B.按方向键(下)将配置文件拖到root ALL=(ALL) ALL项

C.在这个文件的末尾添加 diyhi ALL=(ALL) ALL (中间的空格是Tab 键)

D. 然后保存(就是先按一 下Esc键,然后输入  :wq  )退出

Vi的工作模式

Vi有三种工作模式,分别为:命令模式、插入模式(编辑模式)和末行模式,三种模式分别进行不同的操作,它们之间可以进行切换。

1.命令模式:进入Vi后,首先进入的就是命令模式,等待用户输入编辑命令,此时输入的字母将作为编辑命令来解释。

2.插入模式:在命令模式下输入插入命令i、附加命令a、打开命令o等命令可以进入插入模式,在插入模式下,用户输入可以对文本进行编辑,输入的任何字符都被当作文件内容保存起来。【Esc】键可以返回命令模式。

3.末行模式:在命令模式下,按【:】键可以进入末行模式,Vi光标会显示在窗口的最后一行,以“:”作为末行模式的提示符,等待用户输入命令。末行命令执行后,Vi自动回到命令模式。


安装lrzsz软件上传下载文件

输入命令 sudo yum -y install lrzsz

输入命令 rz 会自动弹出上传对话框,上传文件存放在当前用户工作目录路径下

输入命令 sz 后面带上文件路径,可以弹出文件下载框


安装ZIP压缩/解压文件

输入命令 yum install -y unzip zip

解压zip文件方法例如解压shop.zip文件

输入命令 unzip -o shop.zip

配置密钥key免密码登录

为刚才创建的用户diyhi设置使用密钥方式登录

1、在Xshell主界面,点击【新建】,填写名称并输入服务器的IP地址和端口号,如下

2、点击【用户身份验证】->方法选择为【Public Key】->【浏览】->【生成】-> 选择密钥类型和密钥长度->【下一步】,如下图:

 
 

3. 出现提示“公钥对已成功生成”后,点击【下一步】,如下图:

4. 输入自己定义的密钥名称(不需要输入密码),点击【下一步】,如下图:

 

5. 创建公钥。点击【保存为文件】,用户将公钥保存到自己定义的位置,比如保存为C:\diyhi_public.pub,然后点击【完成】,如下图:

私钥也建议用户备份,点击【导出】按钮可导出私钥

6. 输入命令mkdir /home/diyhi/.ssh   在diyhi用户目录下创建隐藏文件夹

将刚才保存的公钥文件C:\diyhi_public.pub上传到刚才创建的.ssh目录

使用lrzsz软件的rz命令上传

输入命令 touch authorized_keys   在.ssh 目录下新建authorized_keys文件

输入命令 cat diyhi_public.pub >> authorized_keys   然后把diyhi_public.pub文件内容追加到authorized_keys文件中

输入命令 cat authorized_keys   查看authorized_keys文件

7. 设置.ssh 目录和密钥权限

chmod 700 /home/diyhi/.ssh   确保 $HOME/.ssh 目录只有所有者才有权写入

chmod 600 /home/diyhi/.ssh/authorized_keys   确保其它用户对 authorized_keys 文件没有修改权限

chown -R diyhi:diyhi /home/diyhi/.ssh   同时更改文件和目录的所有者和用户组为diyhi

8. 调整sshd配置文件/etc/ssh/sshd_config以支持密钥认证登录

输入命令 vim /etc/ssh/sshd_config   打开配置文件

将sshd_config中的如下内容

#PubkeyAuthentication yes # 默认为注释,启用公钥认证

#AuthorizedKeysFile.ssh/authorized_keys # 验证公钥的存放路径

PasswordAuthentication yes # 禁止密码认证,默认是打开的

修改为

RSAAuthentication yes #启用 RSA 认证

PubkeyAuthentication yes #启用公钥认证

修改完成后,输入命令 systemctl restart sshd.service 重启ssh服务让配置文件生效

9.进行登录验证

在Xshell中使用diyhi账户登录

上面画面显示正常登录后,为了安全,把系统的root账户登录功能和密码登录功能关闭,同时修改登录端口

输入命令 vim /etc/ssh/sshd_config   打开配置文件

将sshd_config中的如下内容

PasswordAuthentication yes # 禁止密码认证,默认是打开的

#PermitRootLogin no默认为注释,设置是否允许root通过ssh登录

#Port 20 默认为注释

修改为

PasswordAuthentication no #禁止使用密码登录

PermitRootLogin no #禁止root用户登录

Port 20002 #修改为20002

修改完成后,输入命令 systemctl restart sshd.service 重启ssh服务让配置文件生效

 

同时Xshell 5的登录配置文件也要将端口修改为20002

Firewall防火墙

1.输入命令yum install firewalld   执行安装

输入命令yum install firewalld systemd -y   执行安装firewall-cmd

2.启动firewalld

输入命令 systemctl start firewalld   启动防火墙

输入命令 firewall-cmd --permanent --zone=public --add-port=20002/tcp #ssh   开放SSH登录端口

输入命令 firewall-cmd --permanent --zone=public --add-port=80/tcp #80   开放80网站端口

输入命令 firewall-cmd --reload   执行完命令要刷新才能生效

Firewall使用命令示例
systemctl start firewalld启动
systemctl enable firewalld开机启动
systemctl stop firewalld关闭
systemctl disable firewalld取消开机启动
firewall-cmd --state查看运行状态
firewall-cmd --reload重新加载
firewall-cmd --get-services显示服务列表
firewall-cmd --enable service=ssh允许SSH服务通过
firewall-cmd --disable service=ssh禁止SSH服务通过
firewall-cmd --enable ports=8080/tcp打开TCP的8080端口
firewall-cmd --enable service=samba --timeout=600临时允许Samba服务通过600秒
firewall-cmd --list-services显示当前服务
firewall-cmd --list-all列出所有的开放端口
firewall-cmd --permanent --zone=public --add-port=80/tcp添加80端口
firewall-cmd --permanent --zone=public --add-service=http添加http服务
firewall-cmd --zone=public --query-port=80/tcp检查80端口是否生效
firewall-cmd --zone=public --remove-port=80/tcp删除80端口
firewall-cmd --permanent --remove-port=80/tcp永久删除80端口
firewall-cmd --add-service= ftp --permanent永久开放ftp服务
firewall-cmd --remove-service= ftp --permanent永久ftp关闭

安装JDK

1.将JDK安装包jdk-8u152-linux-x64.tar.gz上传到/home/diyhi目录

也可以在线下载JDK,直接用wget命令在官网上会下载失败,必须在wget命令加上一个特殊的cookie,可以参考以下命令下载对应用版本,本次演示下载适用CentOS 7.3 64位操作系统的最新版

输入命令 wget --no-cookie --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.tar.gz -O jdk-8u152-linux-x64.tar.gz

2.下载或上传完成后开始安装

输入命令 tar -xzf jdk-8u152-linux-x64.tar.gz   解压文件到当前文件夹

输入命令 mkdir /usr/java   在根目录/usr/目录下创建java目录

输入命令 cd /usr/java   切换到安装目录

输入命令 cp -a /home/diyhi/jdk1.8.0_152 /usr/java   将解压出来的文件夹复制到java目录

输入命令 vi /etc/profile   打开环境变量配置文件

3.在境变量配置文件最后的一行加入下面三行参数

1
2
3
4
export JAVA_HOME=/usr/java/jdk1.8.0_152
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

4.刷新配置文件

输入命令 source /etc/profile

5.查看java是否安装成功

输入命令 java -version

安装Tomcat

1.将apache-tomcat-8.5.20.tar.gz上传到/home/diyhi目录

输入命令 tar -xzf apache-tomcat-8.5.20.tar.gz   解压文件到当前文件夹

输入命令 mkdir /usr/local/tomcat8   在根目录/usr/目录下创建java目录

输入命令 cd /usr/local/tomcat8   切换到安装目录

2.将解压出来的文件夹复制到tomcat8目录

输入命令 cp -a /home/diyhi/apache-tomcat-8.5.20 /usr/local/tomcat8

3.启动Tomcat

输入命令 sh /usr/local/tomcat8/apache-tomcat-8.5.20/bin/startup.sh

关闭Tomcat

输入命令 sh /usr/local/tomcat8/apache-tomcat-8.5.20/bin/shutdown.sh

在浏览器上输入网址 http://服务器的IP:8080/   能打开默认网页说明配置成功(请提前将8080端口加入到Firewall防火墙)

在有的虚似服务器上Tomcat启动时间可能超过10分钟,请耐心等到待。下一节将配置解决Tomcat启动慢的问题

4.创建tomcat启动用户并授权

输入命令 getent group tomcat || groupadd -r tomcat

输入命令 getent passwd tomcat || useradd -r -d /opt -s /bin/nologin -g tomcat tomcat

5.更改文件权限

输入命令 chown -R tomcat:tomcat /usr/local/tomcat8

6.配置开机启动Tomcat脚本

A.增加tomcat.service 在/usr/lib/systemd/system目录下增加tomcat.service,目录必须是绝对目录

输入命令 cd /usr/lib/systemd/system

输入命令 vim tomcat.service

B. 将下面的配置内容复制到tomcat.service文件中-Xms 设置虚拟机可用内存堆的初始大小。-Xms512M表示虚拟机启动时分配的内存大小为512M   -Xmx 设置虚拟机的最大可用大小。-Xmx512M表示虚拟机能使用最大内存为512M请根据服务器的实际情况配置,本次演示将设置为-Xms512M -Xmx512M,服务器内存充足时请将这两个参数设置为比较大的值;其它调优参数请参考网上相关资料

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[Unit]  
Description=Tomcat8
After=syslog.target network.target remote-fs.target nss-lookup.target  
       
[Service]
User=tomcat
Group=tomcat
 
Type=forking  
Environment='JAVA_HOME=/usr/java/jdk1.8.0_152'  
Environment='CATALINA_PID=/usr/local/tomcat8/apache-tomcat-8.5.20/bin/tomcat.pid'  
Environment='CATALINA_HOME=/usr/local/tomcat8/apache-tomcat-8.5.20'  
Environment='CATALINA_BASE=/usr/local/tomcat8/apache-tomcat-8.5.20'  
Environment='CATALINA_OPTS=-Xms512M -Xmx512M -server'  
    
WorkingDirectory=/usr/local/tomcat8/apache-tomcat-8.5.20/
    
ExecStart=/usr/local/tomcat8/apache-tomcat-8.5.20/bin/startup.sh  
ExecReload=/bin/kill -s HUP $MAINPID  
ExecStop=/bin/kill -s QUIT $MAINPID  
PrivateTmp=true  
       
[Install]  
WantedBy=multi-user.target 

保存配置文件后执行systemctl daemon-reload命令刷新

输入命令 systemctl daemon-reload

因为配置pid,在启动的时候会再tomcat根目录生成tomcat.pid文件,停止之后删除。同时tomcat在启动时候,执行start不会启动两个tomcat,保证始终只有一个tomcat服务在运行。

使用配置好的系统服务管理Tomcat
systemctl enable tomcat配置开机启动
systemctl start tomcat启动tomcat
systemctl stop tomcat停止tomcat
systemctl restart tomcat重启tomcat
systemctl disable tomcat删除开机启动
systemctl daemon-reload刷新

7.配置Tomcat

输入命令 cd /usr/local/tomcat8/apache-tomcat-8.5.20/conf   进入tomcat安装目录

输入命令 vim server.xml   打开配置文件

1.增加网页编码参数URIEncoding="UTF-8" 2.修改使用nginx转发后客户端IP写入日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
 redirectPort="8443" URIEncoding="UTF-8" />
 
<!--
 directory:日志文件放置的目录  在tomcat下面有个logs文件夹
 prefix:日志文件的名称前缀
 suffix:日志文件的后缀名
 pattern:日志内容格式  %h:服务器名称,如果resolveHosts=false则为IP地址
 resolveHosts: 等于true时,tomcat会将这个服务器IP地址通过DNS转换为主机名; 等于false时,直接写服务器IP地址
  
 pattern详细参数:
 %a - 远程IP地址
 %A - 本地IP地址
 %b - 发送的字节数(Bytes sent), 不包括HTTP headers的字节,如果为0则展示'-'
 %B - 发送的字节数(Bytes sent), 不包括HTTP headers的字节
 %h - 远程主机名称(如果resolveHosts为false则展示IP)
 %H - 请求协议
 %l - 远程用户名,始终为'-'(Remote logical username from identd)
 %m - 请求的方法(GET, POST等)
 %p - 接受请求的本地端口
 %q - 查询字符串,如果存在,有一个前置的'?'
 %r - 请求的第一行(包括请求方法和请求的URI)
 %s - response的HTTP状态码(200,404等)
 %S - 用户的session ID
 %t - 日期和时间,Common Log Format格式
 %u - 被认证的远程用户, 不存在则展示'-'
 %U - 请求URL路径
 %v - 本地服务名
 %D - 处理请求的时间,单位为毫秒
 %T - 处理请求的时间,单位为秒
 %I - 当前请求的线程名(can compare later with stacktraces)
 %{xxx}i 请求headers的信息
 %{xxx}o 响应headers的信息
 %{xxx}c 请求cookie的信息
 %{xxx}r xxx是ServletRequest的一个属性
 %{xxx}s xxx是HttpSession的一个属性
 -->
 
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%{X-FORWARDED-FOR}i %l %u %t &quot;%r&quot; %s %b" />

8.上传网站程序

将/usr/local/tomcat8/apache-tomcat-8.5.20/webapps/ROOT目录下的所有文件删除

将网站程序上传到/usr/local/tomcat8/apache-tomcat-8.5.20/webapps/ROOT  目录

注意/usr/local/tomcat8/apache-tomcat-8.5.20/webapps/ROOT目录下上传的网页项目文件也必须为tomcat用户所有,如果出现文件权限不可读写,可以尝试执行命令 chown -R tomcat:tomcat /usr/local/tomcat8 进行修改

解决虚拟服务器CentOS7中Tomcat8.x启动慢问题

输入命令 yum install rng-tools   安装rngd服务

输入命令 systemctl start rngd   启动服务

如果你的CPU不支持DRNG特性或者像我一样使用虚拟机,可以使用/dev/unrandom来模拟

输入命令 cp /usr/lib/systemd/system/rngd.service /etc/systemd/system

输入命令 vim /etc/systemd/system/rngd.service service

将ExecStart=/sbin/rngd -f修改为 ExecStart=/sbin/rngd -f -r /dev/urandom

输入命令 systemctl daemon-reload   重新载入服务

输入命令 systemctl restart rngd   重启服务

安装nginx

1.下载对应当前系统版本的nginx包(package)

输入命令 wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2.建立nginx的yum仓库

输入命令 rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm

3.下载并安装nginx

输入命令 yum install nginx

4.启动nginx

输入命令 systemctl start nginx

使用配置好的系统服务管理Nginx
systemctl enable nginx配置开机启动
systemctl start nginx启动nginx
systemctl stop nginx停止nginx
systemctl restart nginx重启nginx
systemctl disenable nginx删除开机启动
systemctl daemon-reload刷新

5.配置nginx

默认的配置文件在 /etc/nginx 路径下,使用该配置已经可以正确地运行nginx;如需要自定义,修改其下的 nginx.conf 等文件即可

6.绑定域名

输入命令 vim /etc/nginx/conf.d/default.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#配置301跳转,将用户访问diyhi.com自动跳转到www.diyhi.com
server {
        listen 80;
        server_name diyhi.com;
        return 301 $scheme://www.diyhi.com$request_uri;
}
#配置请求转发,将网页访问80端口转发到Tomcat的8080端口
server{
        listen  80;
        server_name www.diyhi.com;
        location /{
            proxy_set_header Host $host;
            proxy_set_header X-Real-Ip $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_pass $scheme://127.0.0.1:8080;
            client_max_body_size 50M; #允许上传文件大小,默认是1M
             
 
            proxy_read_timeout 86400s;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
}

配置完成保存。 调用nginx -t测试配置文件是否正确

7.日志

访问日志默认路径 /var/log/nginx/access.log

错误日志默认路径 /var/log/nginx/error.log

安装MySQL

1. MySQL选择下载版本 https://dev.mysql.com/downloads/repo/yum/

 

2.下载MySQL源(后缀是noarch.rpm)

输入命令 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

3. 安装mysql源

输入命令 yum localinstall mysql57-community-release-el7-11.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

系统服务管理MySQL
systemctl enable mysqld配置开机启动
systemctl start mysqld启动MySQL
systemctl stop mysqld停止MySQL
systemctl restart mysqld重启MySQL
systemctl disenable mysqld删除开机启动
systemctl daemon-reload刷新

8.找出root默认密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改

输入命令 grep 'temporary password' /var/log/mysqld.log

9.使用数据库root用户登录

输入命令 mysql -u root -p

输入密码 mNAk/r(3L=h+

10.修改默认密码

演示将默认密码修改为Mysql&123456789

输入命令 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql&123456789';

输入命令 set password for 'root'@'localhost'=password('Mysql&123456789');

新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问

输入命令 flush privileges;

11.注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误,如下图所示:

12.退出登录

输入命令 exit

13.配置默认编码为utf8mb4

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:

1
2
3
4
[mysqld]
character_set_server= utf8mb4
init_connect='SET NAMES utf8mb4'
 

安装Redis

1.设置redis的仓库地址

输入命令 yum install epel-release

2.安装Redis

输入命令 yum install redis

3.设置密码

输入命令 vim /etc/redis.conf

将配置文件 #requirepass foobared 去掉行前的注释,并修改密码为所需的密码 requirepass 123456      123456为密码

4. 启动Redis服务

输入命令 systemctl start redis.service

5.登录Redis

输入命令 redis-cli -h 127.0.0.1 -p 6379 -a 123456      127.0.0.1为IP地址,6379为端口,123456为密码

6.退出Redis

输入命令 quit

系统服务管理Redis
systemctl enable redis.service配置开机启动
systemctl start redis.service启动Redis
systemctl stop redis.service停止Redis
systemctl restart redis.service重启Redis
systemctl disenable redis.service删除开机启动
systemctl daemon-reload刷新


安装Elasticsearch

1.Elasticsearch 6.1.3版本的下载地址页面为 https://www.elastic.co/downloads/past-releases/elasticsearch-6-1-3

2.下载rpm安装文件

输入命令 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.3.rpm

3.安装Elasticsearch

输入命令 rpm --install elasticsearch-6.1.3.rpm

4.输入命令 systemctl start elasticsearch启动服务。

5. 输入命令 curl -XGET 'localhost:9200/?pretty' 测试Elasticsearch是否运行

Elasticsearch默认restful-api的端口是9200

安装后各个目录说明

/usr/share/elasticsearch/     主目录

/var/log/elasticsearch     日志

/etc/sysconfig/elasticsearch      配置elasticsearch环境变量

/etc/elasticsearch/elasticsearch.yml      配置elasticsearch集群

/etc/elasticsearch/jvm.options      配置elasticsearch的jvm参数

/etc/elasticsearch/log4j2.properties      配置elasticsearch日志参数

查看端口

输入命令 netstat -tunlp

systemctl方式启动结果不提供反馈,查看systemctl启动日志

输入命令 journalctl --unit elasticsearch

如果systemctl启动日志显示JAVA未找到错误,则修改elasticsearch环境变量文件

输入命令 vim /etc/sysconfig/elasticsearch

增加一行

1
2
JAVA_HOME=/usr/java/jdk1.8.0_152

输入命令 source /etc/sysconfig/elasticsearch

输入命令 systemctl restart elasticsearch执行重新启动

6.安装elasticsearch-analysis-ik分词插件

分词插件下载页面https://github.com/medcl/elasticsearch-analysis-ik/releases 我们找到v6.1.3版本

7.下载IK分词器

输入命令 wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.1.3/elasticsearch-analysis-ik-6.1.3.zip

8.解压IK分词器

输入命令 unzip -o elasticsearch-analysis-ik-6.1.3.zip

9.复制IK分词器到Elasticsearch插件目录

输入命令 cp -a /home/diyhi/elasticsearch /usr/share/elasticsearch/plugins

输入命令 systemctl restart elasticsearch执行重新启动

10.测试分词插件是否安装成功

输入命令

1
2
curl -H 'Content-Type: application/json'  -XGET localhost:9200/_analyze?pretty   -d '{"analyzer":"ik_max_word","text":"世界真美好"}'
系统服务管理Elasticsearch
systemctl enable elasticsearch配置开机启动
systemctl start elasticsearch启动Elasticsearch
systemctl stop elasticsearch停止Elasticsearch
systemctl restart elasticsearch重启Elasticsearch
systemctl disenable elasticsearch删除开机启动
systemctl daemon-reload刷新
posted @ 2018-03-08 18:15 王代军 阅读(...) 评论(...) 编辑 收藏