赞
踩
一直很想把自己编写的Java Web项目部署到网站上,一开始是打算使用阿里云镜像市场提供的Java Web运行环境,试了两天,奈何始终都运行不成功,搞得自己怀疑是不是我操作的问题。后来想一想还是自己动手搭一遍运行环境比较好,正所谓绝知此事要躬行,哈哈哈。
本次安装所使用的安装包分别为:jdk-8u191-linux-x64.tar.gz、apache-tomcat-9.0.14.tar.gz、mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz、nginx-1.14.2.tar.gz (因为我的java项目用的jdk1.8版本,建议各位根据自己使用的版本情况下载相应的各个安装包,以免后续出现问题)
1、jdk-8u191-linux-x64.tar.gz的下载
百度搜索jdk,点击Java Downloads | Oracle进入jdk1.8的选择下载页面,勾选Accept License Agreement单选框,然后选择 Linux x64位的jdk-8u191-linux-x64.tar.gz点击下载。
2、apache-tomcat-9.0.14.tar.gz的下载
百度搜索tomcat,然后进入Tomcat,可直接选择下载tomcat 8.5.37,也可选择下载,Tomcat 7或9,因为后面我在linux系统中打算安装两个Apache服务器,所以apache-tomcat-9.0.14.tar.gz 和 apache-tomcat-8.5.37.tar.gz我都下载了下来。
3、mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz的下载
百度搜索mysql进入mysql官网,点击DOWNLOADS后再点击Community,然后点击MySQL Community Server或下面的DOWNLOAD进入MySQL Community Server 8.0.13的下载页面,因为我的java项目一直使用的是5.7.xx版本的数据库,同时也因为不是很熟悉MySQL8.0.xx版本的数据库,所以还是选择下载5.7版本的数据库。
4、nginx-1.14.2.tar.gz的下载
百度搜索nginx,点击进入Nginx下载页面,选择nginx-1.14.2(稳定版)下载,需要注意的是下载下来的nginx-1.14.2.tar.gz安装包中缺少logs目录以及logs目录下的access.log和error.log日志文件,会导致后面在启动Nginx时提示缺少这两个日志文件而启动失败,解决方法创建logs目录以及access.log和error.log日志文件即能解决问题。
使用FileZilla工具上传 jdk-8u191-linux-x64.tar.gz、apache-tomcat-9.0.14.tar.gz、mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz、nginx-1.14.2.tar.gz 到linux的/usr/local下。
############################### 神奇的分割线 #################################################
1.1 解压:
tar zxvf jdk-8u191-linux-x64.tar.gz
1.2添加到环境变量:
vim/vi /etc/profile
# 在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 的下一行添加
export JAVA_HOME=/usr/local/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
1.3保存退出,然后执行:
source /etc/profile (使环境变量生效)
1.4查看是否安装成功:
java -version
输入命令后如果出现如下代码则说明安装成功:
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12,mixd mode)
############################### 神奇的分割线 #############################################
2.1创建tomcat用户组:
2.1.1、新建tomcat组:
groupadd tomcat
2.1.2、新建tomcat 用户:
useradd -s /bin/bash -g tomcat tomcat
2.2解压:
tar zxvf apache-tomcat-9.0.14.tar.gz
2.3修改权限:
chown -R tomcat:tomcat apache-tomcat-9.0.14
2.4将8080端口加到防火墙白名单:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
2.5重启防火墙(我的阿里云linux不用重启):
firewall-cmd --reload
2.6启动tomcat服务器:
/usr/local/apache-tomcat-9.0.14/bin/startup.sh
2.7访问http://IP:8080:如果能进入tomcat主页则说明安装成功
############################### 神奇的分割线 #############################################
3.1解压:
tar zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
3.2重命名:
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
3.3新建mysql用户组:
3.3.1、新建mysql组:
groupadd mysql
3.3.2、新建mysql用户:
useradd -r -g mysql mysql
3.4修改mysql目录权限:
3.4.1、进入mysql根目录:
cd /usr/local/mysql
3.4.2、修改拥有者为mysql用户:
chown -R mysql:mysql ./
3.5 配置mysql服务
3.5.1 将mysql/support-files下的mysql.server 复制到 /etc/init.d/下并自定义为mysql:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
3.5.2 修改该服务:
vim或vi /etc/init.d/mysql
3.5.3 修改内容为:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
3.6修改mysql的配置文件:
3.6.1 进入etc目录:
cd /etc
3.6.2 如果有my.cnf文件,则删除my.cnf,若无则跳过该步骤:
rm -rf my.cnf
3.6.3 新建my.cnf文件:
vim或vi my.cnf
3.6.4 my.cnf文件中添加的内容:
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
port = 3306
default-character-set=utf8
[mysqld]
# 一般配置选项
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character-set-server=utf8
default_storage_engine = InnoDB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names = 1
3.7 初始化数据库:
3.7.1 进入mysql/bin:
cd /usr/local/mysql/bin/
3.7.2进行初始化:
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
3.7.3若遇到如下错误:
./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
3.7.4 执行下列命令:
yum -y install numactl.x86_64
3.7.5再执行初始化:
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
3.7.6若遇到如下错误:
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
3.7.7执行下列命令:
yum -y install libaio
3.7.8再执行初始化:
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
3.7.9 执行完毕后会自动生成初始密码,一定要牢记:
3.8 启动mysql服务
3.8.1启动命令:
service mysql start(启动成功会提示 ok)
3.9登录及远程连接配置:
3.9.1进入mysql/bin下执行:
./mysql -uroot -p
3.9.2输入刚才生成的初始密码:
Enter password:输入默认的临时密码;
3.9.3修改密码:
set password=password('新密码');
3.9.4设置远程连接访问:
grant all privileges on *.* to 'root'@'%' identified by '新密码';
3.9.5刷新使修改生效:
flush privileges;
3.10开启允许访问3306端口:
3.10.1 开启端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
3.10.2 重启防火墙:
firewall-cmd --reload
3.11设置mysql开机自启动:
3.11.1 查看自启动服务列表:
chkconfig --list
3.11.2 将mysql添加到自启动服务列表中:
chkconfig --add mysql
3.11.3 设置自动启动:
chkconfig mysql on
3.12 配置自启动环境变量:
3.12.1 为了不用在mysql/bin目录下才能连接mysql 将mysql/bin目录设置到环境变量中:
vim或vi /etc/profile
3.12.2 在 profile文件末尾添加如下内容:
# mysql environment
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
3.12.3 更新环境变量:
source /etc/profile
################################ 神奇的分割线 #############################################
注意事项:nginx-1.14.2.tar.gz安装包中缺少logs目录以及logs目录下的access.log和error.log日志文件,会导致后面在启动Nginx时提示缺少这两个日志文件而启动失败,解决方法创建logs目录以及access.log和error.log日志文件即能解决问题。
安装Nginx所需工具:yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-devel
4.1 解压nginx-1.14.2.tar.gz:
tar zxvf nginx-1.14.2.tar.gz;
4.2 重命名:
mv nginx-1.14.2 nginx
4.3 将nginx加到配置中:
./configure --prefix=/usr/local/nginx
4.4:
make&&make install
4.5启动nginx;
usr/local/nginx/sbin/nginx
(打开浏览器访问IP:80,若显示Welcome to nginx! 则表示 Nginx 已经安装并运行成功。)
4.6 部分其它命令:
4.6.1重启Nginx:
/usr/local/nginx/sbin/nginx –s reload
4.6.2停止Nginx:
/usr/local/nginx/sbin/nginx –s stop
4.6.3测试配置文件是否正常:
/usr/local/nginx/sbin/nginx –t
4.6.4强制关闭Nginx:
pkill nginx
################################ 神奇的分割线 #############################################
################################ 神奇的分割线 #############################################
附加:
1、修改环境变量 :
vim或vi /etc/profile
2、修改内容:
####### tomcat1#######
export CATALINA_BASE=/usr/local/apache-tomcat-8.5.37
export CATALINA_HOME=$CATALINA_BASE
export TOMCAT_HOME=$CATALINA_BASE
####### tomcat2#######
export CATALINA_2_BASE=/usr/local/apache-tomcat-9.0.14
export CATALINA_2_HOME=$CATALINA_2_BASE
export TOMCAT_2_HOME=$CATALINA_2_BASE
3、保存退出:
source /etc/profile
4、修改 对应tomcat中的 catalina.sh,添加环境变量,这里只修改了apache-tomcat-9.0.14的:
在代码# OS specific support. $var _must_ be set to either true or false.下面增加如下代码:
export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME
5、修改tomcat中server.xml的端口,这里只修改了apache-tomcat-9.0.14的:
修改示例如下:
<Server port="9005" shutdown="SHUTDOWN"> 端口:8005->9005
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="9080" maxHttpHeaderSize="8192" 端口:8080->9080
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="9009" 端口:8009->9009
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
6、在安全组规则的入方向中,添加9080端口,从而允许外网通过此端口访问
7、最后启动不同的tomcat即可;
SecureRandom这个jre的工具类的问题。
方案一:在Tomcat环境中解决
①、可以通过配置JRE使用非阻塞的Entropy Source。
②、在catalina.sh文件中加入如下内容,
-Djava.security.egd=file:/dev/./urandom
③、加入后重启Tomcat,查看Tomcat服务启动日志,启动耗时下降。
方案二:在JVM环境中解决
①、打开 $JAVA_PATH/jre/lib/security/java.security
这个文件。
②、在文件中找到如下内容,
securerandom.source=file:/dev/urandom
③、将内容替换成如下内容,
securerandom.source=file:/dev/./urandom
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。