阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

时间:2022-02-28 13:01:34

1.准备工作

阿里云服务器
系统:Centos 7.3 64 位
阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

下面是链接地址,如果失效百度就可以了
1. apache-tomcat-8.5.14.zip
2. java
3. nginx
4. mysql 使用在线安装的方式

2.工具

服务器默认是没有图形化界面的,所以要借助shell连接工具远程连接
这里推荐使用xshell 和 xftp 连接阿里云,使用起来非常方便,可自行百度下载
使用xshell 连接阿里云服务器
阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

连接之后的界面 ,点击红色箭头的位置就可以打开ftp 连接(前提是xftp已经安装)
阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

建立ftp连接
阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)
在服务器根目录新建一个文件夹,通过xftp 将需要的文件传输此文件夹,(右键–》传输)

阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

传输完成后,在服务器上查看
阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

3.开始安装

//给予zj文件夹 最高权限

chmod -R 777 /zj 

解压

unzip tomcat....
tar -zxvf nginx...
tar -zxvf jdk...

3.1 jdk与tomcat环境变量

tomcat 是依赖jdk环境的,所以需要先配置jdk环境
一开始在终端输入 java -version 提示“command not found”,说明系统默认没有安装jdk
xshell 输入 vi /etc/profile ,追加如下内容

#java home
JAVA_HOME=/zj/jdk1.8.0_131
#tomcat
CATALINA_HOME=/zj/apache-tomcat-8.5.14
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH CLASSPATH CATALINA_HOME

找到自己服务器上java与tomcat 目录
阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

保存后source 使文件生效

阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)
再次 java -version 验证,显示版本号,OK

阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

给予tomcat文件夹权限并启动tomcat
阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)
此时 在外部浏览器中输入ip:8080 发现并不能跳转到tomcat 首页,这是因为8080 端口默认是关闭状态。

systemctl status firewalld.service // 查看防火墙状态,如果现实dead说明未开启
systemctl start firewalld.service // 打开防火墙
firewall-cmd --zone=public --add-port=8080/tcp --permanent //开放8080 端口
firewall-cmd --reload //重启
firewall-cmd --list-ports //查看开放的端口号

阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)
再次访问ip:8080 发现可以进入tomcat首页,OK

【关于centos 7 下的firewall 更多的操作】http://blog.csdn.net/qq_16566415/article/details/71213450

3.2 nginx安装与 配置

先使用yum 安装以以下依赖

yum install -y pcre pcre-devel  
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

进入解压后的nginx 目录,敲入以下命令

./configure
make
make install
whereis nginx //查看安装目录

进入默认安装目录(/usr/local/nginx)下的sbin目录就可以进行开启和或者停止nginx操作了

cd /usr/local/nginx/sbin
./nginx //启动
./nginx -s reload //重启
./nginx -s stop //停止

启动nginx 后,还需要在防火墙中开放80 端口并重启防火墙,nginx 默认配置监听的是80端口

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

在浏览器中输入公网ip就可以跳转到nginx 首页(默认是监听80端口),至此nginx 安装完成,OK。
阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

3.3 mysql 在线安装

// 下载mysql源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
// 安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
// 检查mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"

阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

//安装mysql
yum install mysql-community-server
// 安装完后,启动mysql 服务
systemctl start mysqld
// 查看状态
systemctl status mysqld

阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)
至此,所有软件安装完成,接下来进行相应的配置

4.后续步骤(重要)

4.1配置nginx ,tomcat 服务的开启与关闭

在开发过程中,难免会经常更改nginx的配置以及对tomcat重启,涉及到这些操作就需每次进入到相应的安装目录下面的bin 目录(nginx是sbin)下使用命令操作,下面将nginx和tomcat的各种服务添加到系统服务中,以后就可以使用快捷操作,而不必繁琐的进入到相关目录下面操作

nginx 添加到服务系统

进入到 /etc/init.d 目录,新建一个名为nginx 的文件

cd /etc/init.d
vi nginx

拷贝以下脚本到nginx

#!/bin/sh 
# chkconfig: 2345 85 15
# Startup script for the nginx Web Server
# description: nginx is a World Wide Web server.
# It is used to serve HTML files and CGI.
# processname: nginx
# pidfile: /usr/local/nginx/logs/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx deamon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
SCRIPTNAME=/etc/init.d/$NAME

test -x $DAEMON || exit 0

d_start(){
$DAEMON || echo -n "already running"
}

d_stop(){
$DAEMON -s quit || echo -n "not running"
}


d_reload(){
$DAEMON -s reload || echo -n "can not reload"
}

case "$1" in
start)
echo -n "Starting DESC:DESC:NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping DESC:DESC:NAME"
d_stop
echo "."
;;
reload)
echo -n "Reloading $DESC conf..."
d_reload
echo "reload ."
;;
restart)
echo -n "Restarting DESC:DESC:NAME"
d_stop
sleep 2
d_start
echo "."
;;
*)
echo "Usage: $ScRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac

exit 0

保存后赋予nginx 权限并添加到系统服务中并开设置服务开启

chmod +x /etc/init.d/nginx  //授权
chkconfig --add nginx // 添加
chkconfig nginx on/off // on 是开启
chkconfig --list 查看服务

使用以下命令就可以对nginx快捷操作

systemctl start nginx.service
systemctl reload nginx.service
systemctl stop nginx.service

tomcat 添加到服务系统

过程和nginx 的一样,在/etc/init.d/ 目录下面创建 tomcat文件

vi /etc/init.d/tomcat

并拷贝以下内容,,注意将JAVA_HOME,CATALINA_HOME 的路径改为自己的服务器上的路径
参照 3.1 jdk与tomcat环境变量中tomcat和jdk的路径

#!/bin/bash 

# description: Tomcat7 Start Stop Restart

# processname: tomcat7

# chkconfig: 234 20 80

JAVA_HOME=/zj/jdk1.8.0_131
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/zj/apache-tomcat-8.5.14
case $1 in

start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0

最后:(重要)
授权,添加服务,开启,参照nginx的配置,这里不再赘述,配置完成
使用 chkconfig –list 查看
阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)
测试

systemctl start tomcat.service
systemctl restart tomcat.service
systemctl stop tomcat.service
systemctl status tomcat.service

4.2 mysql

4.2.1 自启动

//设置自启动
systemctl enable mysqld
systemctl daemon-reload

4.2.2 查看默认的mysql密码并修改

mysql 安装完后,在/var/log/myslqd.log 文件中会生成一个默认的密码
搜索 temporary password

// 查看密码
grep 'temporary password; /var/log/mysqld.log

阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

使用默认的密码登录mysql

mysql -uroot -p // 提示输入密码
// 修改root 的默认密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

【提示】mysql5.7默认安装了密码安全检查插件(validate_password)。
默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误
阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

4.2.3 添加远程登录用户

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

GRANT ALL PRIVILEGES ON *.* TO 'zhangsan'@'%' IDENTIFIED BY 'Zhangsan2017!' WITH GRANT OPTION;

测试
这里在win使用mysql 自带的workbench 工具
阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)
防火墙需要 开放3306端口 ,不然是连接不上的

阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)

4.2.3 默认编码

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

vi /etc/my.cnf

添加

character_set_server=utf8
init_connect='SET NAMES utf8'

阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)