www.hj8828.com 3

www.hj8828.comjava搭建阿里云服务器环境(java环境+mysql+tomcat)和部署 JavaWeb 项目到云服务器(十分详细),阿里javaweb

java搭建阿里云服务器环境(java环境+mysql+tomcat)和部署 JavaWeb 项目到云服务器(十分详细),阿里javaweb

阅读本文需要一定的Linux基础

nginx 服务器重启命令,关闭

 

nginx -s reload  :修改配置后重新加载生效

nginx -s reopen  :重新打开日志文件
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

关闭nginx:
nginx -s stop  :快速停止nginx
         quit  :完整有序的停止nginx

其他的停止nginx 方式:

ps -ef | grep nginx

kill -QUIT 主进程号     :从容停止Nginx
kill -TERM 主进程号     :快速停止Nginx
pkill -9 nginx          :强制停止Nginx

启动nginx:
nginx -c /path/to/nginx.conf

平滑重启nginx:
kill -HUP 主进程号

 

购买一系列的东西

其实就是花钱买块区域,服务器,域名,云解析,花了好多money。。。

一 环境

1.1      Nginx

今日任务

  • 在Linux系统上安装JDK.
  • 在Linux系统上安装Tomcat.
  • 在Linux系统上安装MySQL

教学导航

教学目标

了解Linux系统

安装Linux虚拟机

学习Linux的常用命令

多用户以及权限学习

Linux实战

教学方法

案例驱动法

一、租服务器

百度搜索阿里云

进入官网首页,点击登录

进入登录页面,可以使用邮箱登录或者注册

进入注册页面,填写注册信息

登录成功,进入主页,点击云服务ECS,点击购买推荐或者选购配置

根据实际情况选择产品,可能没有货,那么就需要更改购买条件

如果是新用户,购买前要实名认证,根据提示完成认证后才能下订单

阿里云服务器: CentOS 7.4 64位(基于RedHat) 

1.2      Linux系统上安装JDK:

二、购买域名

点击域名/域名列表

点击域名注册

查询域名

列表中会显示该域名是否已经被注册,没有被注册的域名后面有加入清单按钮

加入清单后,就可以去结算了

云解析基础版可以选购,选好了点击立即购买即可

点击解析,进入解析页面,不知道怎么用就点新手引导设置

点击设置网站解析的立即修改,将域名与ip关联上即可

设置好了就会看到

本机: macOS High Sierra

1.2.1      安装步骤:

三、备案

点击备案,这个好麻烦啊,我备案还有那么多事。。

进入备案页面

点击登录备案系统,进入登录页面(这个是备案系统,单独的)

 

1.2.1.1    卸载OpenJDK

执行命令查看:

l  rpm –qa | grep java   查看和java相关的包

 

l  卸载OPENJDK

 

搭建阿里云服务器环境

我进行远程连接服务器的时候,用的是SecureCRT和filezilla这连个,一个是上传文件用的,一个是连接用的。

二 压缩包

1.2.1.2    创建JDK的安装路径:

在/usr/local/  创建文件夹java

mkdir java

一、使用SecureCRT连接centos。

注意刚刚买到服务器后第一次登陆可能登陆不进去,这个时候只需要到控制台重启一下即可。

然后需要输入密码,如果没有密码到控制台修改密码

JDK

1.2.1.3    上传安装文件到linux:

 

l  cd ~

l  ll

 

二、安装JDK。

Java 的 JDK 有 2 套,一是 Oracle 的 JDK,另一个就是 OpenJDK
了。我选择的是 OpenJDK 来作为 Java 的开发环境。本人是使用 SecurityCRT
操作云服务器上的 CenOS6.5 来进行安装配置的。

2.1、查看可用软件包

CentOS 6.X 和 5.X 自带有 OpenJDK runtime environment(openjdk),我们使用
yum 来查看 CenOS 下可用的 open-jdk 软件包列表,执行命令:yum search
java | grep -i –color JDK

2.2、安装

查看到了所有可用的安装包后,我们选择自己需要的进行安装。我选择的是
Java8。执行命令:yum install java-1.8.0-openjdk
java-1.8.0-openjdk-devel

看到 Complete
后就知道安装完成了,那么现在来测试一下是否安装成功。执行命令:java
-version

注:也可以使用 javac
来作为测试命令,网上有些说还要设置java环境变量,其实到这里已经就可以了,不用再到etc/profile中设置java环境。

www.hj8828.com 1

1.2.1.4    解压tar.gz

首先需要安装依赖:

l  yum install glibc.i686

l  tar –xvf xxx.tar.gz –C /usr/local/java

三、安装tomcat。

centos其实可以使用最简单的yum install
tomcat就可以了。这里我就介绍我的方法。

3.1、准备资源

3.1.1、filezilla登录

登陆上去之后,直接拖到右边就可以了。

我们需要先准备好 Tomcat8 的压缩包。本人是先在本地下载好
Tomcat8,然后利用 FileZilla 传到远程服务器下。

3.2、解压

使用 tar 命令,对 Tomcat 的压缩包进行解压。执行命令:tar -zxvf
apache-tomcat-8.0.0.RC3.tar.gz

3.3、移动

解压完毕后,我们需要将解压后的目录移动到 /usr/local
目录下。执行命令:mv apache-tomcat-8.0.0 /usr/local

3.4、重命名

为方便记忆以及日后的使用,我们将该文件夹使用 mv 命令重命名为
tomcat8.执行命令:mv apache-tomcat-8.0.0 tomcat8

3.5、配置 JAVA-HOME

其实这步也可以不用的,因为你可以直接到bin目录下面启动就行。

编辑 /usr/local/tomcat/bin/catalina.sh 文件,配置 JAVA-HOME 变量,让
Tomcat 可以搜索到 JDK 的目录,与其一起工作。

3.6、启动服务

现在,我们来启动 tomcat 来试试。使用 cd 命令切换到
/usr/local/tomcat8/bin/ 目录下,然后执行命令:./startup.sh

3.6、开放端口

启动好服务后,我们还需要开放 8080 端口。注:HTTP 协议默认使用 80
端口,而 Tomcat 默认使用 8080 端口。

3.7、测试

上面的配置完成后,检查一下 Tomcat 的运行情况。执行命令:ps -ef | grep
tomcat

接着,打开浏览器,测试下。本地机器测试则在地址栏上输入

来查看结果。

Tomcat

1.2.1.5    配置环境变量:

vim /etc/profile

 

    #set java environment

    JAVA_HOME=/usr/local/src/java/jdk1.7.0_71

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

    PATH=$JAVA_HOME/bin:$PATH

    export JAVA_HOME CLASSPATH PATH

 

重新加载配置文件:

source /etc/profile

三、安装mysql

这个是我费时间最久的,因为出现了一下问题ERROR
2002 (HY000): Can’t connect to local MySQL server through socket
‘/var/run/mysqld/mysqld.sock

解决方法:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket
‘/var/run/mysqld/mysqld.sock

如果你走运喷到了这个问题,那么点进去看看我的解决方法

3.1、安装mysql

我们使用 yum 来安装 mysql,执行命令 yum install mysql-server.
若机器上没有安装好,就会自动安装,出现 Complete
就表示成功安装。若是已经安装,就会出现如下情况:

3.2、查看安装

我们可以使用 rpm 命令来查看 mysql 的安装情况:执行命令 rpm -qa | grep
mysql*

3.3、启动服务

安装好了,那我们就试着启动一下 mysql 服务好了:执行命令 service mysqld
start
注意:是 mysqld,而不是 mysql

3.4、测试 mysql

mysql
的服务已经启动好了,那么我们来测试一下,它是否能正确运行了?启动好后,我们来进入
mysql 中试着操作一下。执行命令:mysql

注释:\q 命令指关闭连接,退出 mysql

www.hj8828.com 2

1.3      Linux系统上安装MySQL:

四、配置 mysql

正确安装后,我们需要对 mysql 进行一些测试,方便我们日后的工作。

4.1、开机自启

我们首先来设置 mysql 开机自启。为什么要设置呢?因为每次关机重启后,mysql
服务都会被停止,处于 stop 状态,这时要使用 mysql,就得执行 service
mysqld start 命令,比较繁琐,所以设置一下开机自启,可以减少麻烦。

我们利用 chkconfig 命令来设置 mysql 开机自启:执行命令 chkconfig
mysqld on

通过 chkconfig –list 命令可以看到各服务的情况,从中可以看到 mysql
的情况:运行级别为2、3、4、5的情况下都是on(开启)的状态

[各状态的解释]
  等级0表示:表示关机
  等级1表示:单用户模式
  等级2表示:无网络连接的多用户命令行模式
  等级3表示:有网络连接的多用户命令行模式
  等级4表示:不可用
  等级5表示:带图形界面的多用户模式
  等级6表示:重新启动




4.2、开启 3306 端口

对于 mysql,我们知道一般都是使用 3306 端口。在我们 Java
程序的数据库连接中,可以看到 jdbc:mysql://localhost:3306/dbname
的语句。因此,在 Linux 下,我们需要开放 3306 端口,以便本机和外部访问
mysql。执行命令:

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save

4.3、修改密码

一般而言,我们都会启动密码认证。因此我们给用户设置一下密码。进入
mysql,执行命令:update user set password=password(‘密码’) where
user=’用户名’;
以此来给用户设置密码

4.4、配置远程登录

有一种需要,叫远程登录mysql。因此,我们也配置一下 mysql
的远程登录。该设置,同样是需要先进入 mysql 数据库,然后再执行命令
grant all privileges on . to ‘root’@’%’ identified by ‘root’ with
grant option;

命令详解:
  # 将所有权限赋予给 root 用户,允许其进行远程登录
  grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
  参数解释:
  ① all privileges:赋予所有的权限给指定用户,也可以替换为赋予某一具体的权限
  ② *.*:所赋予的权限是针对全部数据库的全部表。若指定某一具体数据库的具体表,如:thinkphp_user
  ③ root:表示给root用户授权
  ④'%':表示不限制连接的 IP。若想只允许某特定的 IP 进行远程登录,可以改为具体 IP。
  ⑤ by 'root':root 用户的密码

设置好远程登录后,我们测试一下是否可以远程登录。在本地机器执行远程登录命令如下:

# 连接时需要验证密码
mysql -h 远程机器IP地址 -P 3306 -u 用户名 -p thinkphp
# 在登录的时候直接写上密码,p 和密码不能分开
mysql -h 远程机器IP地址 -P 3306 -u 用户名 -p密码 thinkphp

MySQL 

1.3.1      安装MySQL:

五、部署javaweb项目

我们要部署 Java Web
项目,那就至少得将项目上传到云服务器。其实过程很简单,基本上也就是下面三个步骤
① 打包上传:将项目打包成 war 文件,然后利用 FileZilla 传到远程服务器
② 部署:使用 cp 或 mv 命令,将 war 文件移动到 Tomcat 目录下的 webapps

③ 重启 Tomcat,访问我们的项目

5.1、上传项目war包

5.2、移动到tomcat的webapps目录中

在这个过程中,我们需要注意。因为一般而已,作为一个 Web
项目,我们肯定是有数据库的使用的。那么数据库部分怎么办呢?其实,只需要将我们已有的数据库转储为
sql 文件,然后将 sql 文件上传到云服务器上执行即可。以 mysql
为例,如下操作:

5.3、Mysql 案例

转储为 sql 脚本,并上传:先在本地将我们项目使用的数据库转为 sql
文件,上传到云服务器上

执行 sql:然后进入 mysql 中执行该 sql 文件

发现执行的时候有错。原因是我们此时的 mysql 中没有 thinkphp
这个数据库。我们查看下当前的数据库,执行命令 show databases;

发现确实没有 thinkphp 这个数据库,因此我们创建一个,执行命令 create
database thinkphp;

再次执行

发现还是报错。原因是我们当前使用的是 mysql 这个数据库,而不是 thinkphp
数据库。因此我们切换到 thinkphp 数据库,执行命令 use
thinkphp;
,然后再一次执行 sql 文件:

查看结果

部署项目:将项目部署到 Tomcat 容器中,还是使用 cp 或 mv 命令将 war
文件移到 /usr/local/tomcat8/webapps/ 下,重启 Tomcat,再访问即可。

到这里完整的部署过程就到这里了,希望对大家有帮助。

www.hj8828.com 3

1.3.1.1    上传mysql到Linux:

 

 

1.3.1.2    卸载自带mysql:

 

三 文件传输

1.3.1.3    创建mysql的安装路径:

Mkdir mysql

输入SFTP命令连接 -> 输入实例登录密码

1.3.1.4    解压mysql:

tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql

  sftp root@公网IP

1.3.1.5    安装依赖(可选):

yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6

yum  update libstdc++-4.4.7-4.el6.x86_64

上传

1.3.1.6    安装mysql的服务端:

rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm

  put 本地文件 服务器路径

1.3.1.7    安装mysql的客户端:

rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm

下载

1.3.1.8    启动mysql的服务:

service mysql status

 

service mysql start

  get 服务器文件 本地路径

1.3.1.9    登录mysql:

 

产生一个随机的密码存放在/root/.mysql_secret

 

查看密码进行登录:

msyql –u root -p

 

修改密码:

set password = password(‘123456’);

 

1.3.1.10            设置开机自动启动mysql:

加入到系统服务:

chkconfig –add mysql

自动启动:

chkconfig mysql on

四 远程访问

1.3.1.11            开启远程服务:

登录mysql授权可以远程访问:

grant all privileges on *.* to ‘root’ @’%’ identified by ‘123456’;

flush privileges;

输入SSH命令连接 -> 输入实例登录密码

1.3.1.12            设置Linux的防火墙:

3306端口放行 且将该设置添加到防火墙的规则中

/sbin/iptables -I INPUT -p tcp –dport 3306 -j ACCEPT

/etc/rc.d/init.d/iptables save

 

  ssh root@公网IP

1.4      Linux系统上安装tomcat:

 

1.4.1      安装tomcat:

五 关闭防火墙

1.4.1.1    上传tomcat的安装文件:

 

关闭防火墙

1.4.1.2    创建tomcat的安装路径:

在/usr/local 下mkdir tomcat

  systemctl stop firewalld.service

1.4.1.3    解压tomcat

tar –xvf xxx.tar.gz –C /usr/local/tomcat

关闭防火墙开机自启动功能

1.4.1.4    设置防火墙:

/sbin/iptables -I INPUT -p tcp –dport 8080 -j ACCEPT

/etc/rc.d/init.d/iptables save

  systemctl disable firewalld.service

1.4.1.5    启动tomcat:

进入到tomcat/bin

执行 ./startup.sh

关闭tomcat

执行 ./shutdown.sh

查看防火墙状态

1.5      发布项目到Linux:

  firewall-cmd –state

1.5.1      将数据库还原到Linux上:

 

1.5.1.1    备份Window上的数据库:

使用命令备份:

mysqldump –u root -p store_v2.0 > c:/store_v2.0.sql

 

使用可视化工具:

六 安装JDK

1.5.1.2    在Linux上还原数据库:

 

查看当前Linux系统是否已安装java

1.5.2      将程序的代码发布到Linux上:

  rpm -qa | grep java

1.5.2.1    将工程制作为war包:

 

卸载已安装java

1.5.2.2    将war包上传到linux服务器:

 

  rpm -e –nodeps 要卸载的软件

1.5.2.3    将war包copy到linux下的tomcat的webapps中:

 

新建目录

1.5.2.4    修改配置文件就可以:

 

  mkdir /usr/local/jdk

1.6      Nginx

解压

1.6.1      Nginx的概述:

 

  cd jdk压缩包所在目录

1.6.2      什么是代理和反向代理:

 

  tar -xvf jdk-8u171-linux-x64.tar.gz -C /usr/local/jdk

1.6.3      Nginx+Tomcat的集群配置:

配置jdk环境变量 将下面配置拷贝进去

1.6.3.1    在一台电脑上安装两个tomcat

需要在一台电脑模拟:在E盘解压两个tomcat,分别命名为tomcat1,tomcat2.

  vim /etc/profile

1.6.3.2    修改tomcat的配置文件,将端口进行修改:

修改tomcat2中的端口:

 

 

 

# java environment
JAVA_HOME=/usr/local/jdk/jdk1.8.0_171
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

1.6.3.3    将项目分别发布到两个tomcat中:

 

重新加载/etc/profile配置文件

1.6.3.4    安装Nginx:

解压

双击nginx.exe

启动完以后访问

 

 

  source /etc/profile

1.6.3.5    配置Nginx:

修改nginx/conf/nginx.conf文件: