Linux CentOS7 下搭建Java Web服务器环境

       前段时间有幸自己在工作中搭了一套Java服务器环境,其中有用到JDK、Nginx、Redis、MySQL、tomcat,下面我将详细的介绍下安装这些工具的步骤以及一些注意事项,苦于没有找到一套完整的安装方案,自己动手记录下,有不同见解欢迎讨论

目录

                                      安装JDK

                                      安装Redis

                                      安装nginx

                                      安装MySQL


                                              安装JDK

安装环境:CentOS7 64位,安装JDK1.8

1.查询是否有旧版jdk

# rpm -qa | grep java

 

2.卸载旧版的jdk

# rpm -e –nodeps

 

3.安装jdk1.8,首先创建一个java的文件夹

# mkdir /usr/local/java

 

4.将安装包上传/usr/local/java/目录下

链接:https://pan.baidu.com/s/1IO7KbcYMtKJXGZqMeETi-w 密码:wtk4

 

5.解压jdk-8u161-linux-x64.tar.gz

# tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/local/java/

注意:如果提示command not found,那需要安装下tar命令,执行命令:yum install -y tar

 

6.配置环境变量

# vi /etc/profile

注意:如果vi命令也提示command not found,请参考https://blog.csdn.net/hellbaby666/article/details/43930793这位仁兄的解决方法。

在/etc/profile文件的末尾加上以下配置:

JAVA_HOME=/usr/local/java/jdk1.8.0_144

JRE_HOME=/usr/local/java/jdk1.8.0_144/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

 

使修改后的/etc/profile文件立即生效:

# source /etc/profile

 

7.测试

# java -version

自此,JDK安装完毕!

本安装方法参考自 https://blog.csdn.net/Brilliant_06/article/details/78657609 

 

 


 

                                             安装Redis

安装环境:CentOS7 64位,安装redis-4.0.10

1.1下载redis

可去官网http://redis.io ,也可通过wget命令

$ cd /opt/sofware #切换目录

$ wget http://download.redis.io/releases/redis-4.0.10.tar.gz

 

1.2解压

解压到/opt/module目录下

tar -zxvf redis-4.0.10.tar.gz -C /opt/module/

 

1.3yum安装gcc依赖

输入:y

yum install gcc tcl
Total download size: 23 M
Is this ok [y/d/N]: y

 

1.4切换到redis解压目录下

目录切换

cd /opt/module/redis-4.0.10

 

1.5编译安装

make MALLOC=libc

cd src && make install

#输出以下内容:

Hint: It's a good idea to run 'make test' ;)

INSTALL install

INSTALL install

INSTALL install

INSTALL install

INSTALL install

make: warning: Clock skew detected. Your build may be incomplete.

 

1.6测试是否安装成功

1、先切换到redis src目录下

cd /opt/module/redis-4.0.10/src

 

2、启动redis服务

输入./redis-server指令

[root@node3 src]# ./redis-server

2812:C 11 Jun 16:23:12.402 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

2812:C 11 Jun 16:23:12.402 # Redis version=4.0.10, bits=64, commit=00000000, modified=0, pid=2812,

just started 2812:C 11 Jun 16:23:12.402 # Warning: no config file specified, using the default config.

In order to specify a config file use ./redis-server /path/to/redis.conf

如上图:redis启动成功,但是这种启动方式需要一直打开窗口,不能进行其他操作,不太方便。

按 ctrl + c可以关闭窗口。

 

3、修改配置文件,以后台进程方式启动redis 
第一步:修改redis.conf文件

cd /opt/module/redis-4.0.10
vi redis.conf

 

3.1修改daemonize 
将 daemonize no #默认为no
修改为 daemonize yes   #后台进程方式改为yes

3.2修改bind 配置 
将bind 127.0.0.1                 #默认只有本机才能够连接
修改为 bind 192.168.8.94   #改为本机ip地址、


3.3修改protected-mode配置 
将protected-mode yes        #在默认保护模式下启用
修改为protected-mode no  #禁用它,任何client不用认证即可连接

3.4修改port端口号 
将port 6379       #默认为6379端口
修改为其他端口port 6380       #可根据实际情况配置


指定redis.conf文件启动

cd /opt/module/redis-4.0.10/src
#输入以下指令./redis-server ../redis.conf 后台进程启动redis
[root@node3 src]# ./redis-server ../redis.conf 
2851:C 11 Jun 16:45:16.619 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2851:C 11 Jun 16:45:16.619 # Redis version=4.0.10, bits=64, commit=00000000, modified=0, pid=2851, just started
2851:C 11 Jun 16:45:16.619 # Configuration loaded


测试redis

[root@node3 src]# ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> set ko 'ok'
OK
127.0.0.1:6379> keys *
1) "ko"
127.0.0.1:6379> get ko
"ok"
127.0.0.1:6379>
关闭redis进程 
首先使用ps -aux | grep redis查看redis进程

[root@node3 src]# ps aux|grep redis

使用kill命令杀死进程

kill -9 2852 

 

设置redis开机自启动
1、在/etc目录下新建redis目录

mkdir redis
2、将/opt/module/redis-4.0.10/redis.conf 文件复制一份到/etc/redis目录下,并命名为6379.conf 

 cp /opt/module/redis-4.0.10/redis.conf /etc/redis/6379.conf
3、将redis的启动脚本复制一份放到/etc/init.d目录下

cp /opt/module/redis-4.0.10/utils/redis_init_script  /etc/init.d/redisd
4、设置redis开机自启动 
先切换到/etc/init.d目录下

然后执行自启命令

chkconfig redisd on
提示:service redisd does not support chkconfig  
看结果是redisd不支持chkconfig 
解决方法:

使用vi编辑redisd文件,在第一行加入如下两行注释,保存退出

# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

再次执行开机自启命令,成功

chkconfig redisd on

现在可以直接已服务的形式启动和关闭redis了

启动:

service redisd start
关闭:

service redisd stop
本安装文档参考自https://blog.csdn.net/u012637358/article/details/80984771

 

 


 

                                          安装nginx

安装环境:CentOS7 64位 ,安装nginx-1.14.0

centos平台编译环境使用如下指令

安装make:

yum -y install gcc automake autoconf libtool make

 

安装g++:

yum install gcc gcc-c++

 

安装PCRE库

cd /usr/local/src

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

tar -zxvf pcre-8.39.tar.gz

cd pcre-8.39

./configure

make

make install

 

安装zlib库

cd /usr/local/src

wget http://zlib.net/zlib-1.2.11.tar.gz

tar -zxvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

./configure

make

make install

 

安装openssl(某些vps默认没装ssl)

cd /usr/local/src

wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz

tar -zxvf openssl-1.0.1t.tar.gz

./config

make

make install

 

安装nginx

cd /usr/local/src

wget http://nginx.org/download/nginx-1.14.0.tar.gz

tar -zxvf nginx-1.14.0.tar.gz

cd nginx-1.14.0

./configure

make

make install

进入 /usr/local/nginx/sbin/ 目录。 通过 ./nginx 启动nginx服务;

1、查看进程号 ps -ef |grep nginx

2.停止

kill -TERM 117971

设置开机启动

vi /lib/systemd/system/nginx.service

内容如下

[Unit]

Description=nginx

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s quit

PrivateTmp=true

[Install]

WantedBy=multi-user.target

设置开机启动

systemctl enable nginx.service

 

启动服务

systemctl start nginx.service

查看服务状态

systemctl status nginx.service

查看所有已启动服务

systemctl list-units --type=service

 

注意:由于当时项目并没有用到nginx负载均衡之类的,只是作为前端映射,所以只是按照下面这个简单的进行配置

其中:

root   /usr/local/nginx/html;   前端存放文件的位置

location /xxxx{
            proxy_pass http://127.0.0.1:8080;
        }

xxxx是服务器上配置项目名(我当时是使用的tomcat),后面的端口按情况修改。

当然在这里将添加了端口,而CentOS7下防火墙一般是开着的,那么需要外部能访问的话,我们需要将端口开放

查看端口:

firewall-cmd --permanent --zone=public --list-ports

新增端口:

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

使端口生效:

firewall-cmd --reload

 

 


 

                                      安装MySQL

安装环境:CentOS7 64位,安装MySQL5.7

1、下载安装包

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

# 下载mysql源安装包
shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# 安装mysql源
shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm

检查mysql源是否安装成功

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


看到上图所示表示安装成功

2、安装MySQL

shell> yum install mysql-community-server

3、启动MySQL服务

shell> systemctl start mysqld

查看MySQL的启动状态

shell> systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since 五 2016-06-24 04:37:37 CST; 35min ago
 Main PID: 2888 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─2888 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

6月 24 04:37:36 localhost.localdomain systemd[1]: Starting MySQL Server...
6月 24 04:37:37 localhost.localdomain systemd[1]: Started MySQL Server.

4、开机启动

shell> systemctl enable mysqld
shell> systemctl daemon-reload

5、修改root默认密码

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

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

 

shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; 

或者

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

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

通过msyql环境变量可以查看密码策略的相关信息:

mysql> show variables like '%password%';

修改密码策略

在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略

# 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy=0

如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:

validate_password = off

重新启动mysql服务使配置生效:

systemctl restart mysqld

 

6、添加远程登录用户

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'Mambatest!' WITH GRANT OPTION;

7、配置默认编码为utf8

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

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

重新启动mysql服务

systemctl restart mysqld

 

默认配置文件路径: 

配置文件:/etc/my.cnf 

日志文件:/var/log//var/log/mysqld.log 

服务启动脚本:/usr/lib/systemd/system/mysqld.service 

socket文件:/var/run/mysqld/mysqld.pid

本文章参考自:https://www.cnblogs.com/lgqboke/p/6873734.html

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章