如何搭建java web服务器
1由于服务器配置比较低综合考虑,选择ubuntu系统进行搭建
2 登陆阿里云服务器:
方法一:使用xshell软件登陆服务器
主机填写ip地址
端口号选择22
连接登陆服务器
方法二:使用阿里云管理终端
ssh root@服务器ip地址
password:输入密码
3如何上传文件
方法一:windows和linux上传或下载某个文件可以使用rz,sz
sudo apt-get install lrzsz
安装完成后进入准备存放改文件的文件夹输入rz,就会跳出文件选择框
例如:#cd apache-tomcat-7069/bin rz
cd后有空格
cd ~:返回最上层
cd :返回上一层
cd -:返回最近操作
方法二:使用xshell中的插件Xftp
4安装及配置环境
安装lsb指令
ubunu快捷安装需要的命令,更新一下:
自带源在大陆不好,更新即可解决
1sudo apt-get update
2apt-get install yum yum install -y redhat-lsb
输入lsb指令查看当前版本
查看版本号
lsb_release -a查看当前位数
getconf LONG_BIT
安装jdk:
方法一:ubuntu自动安装jdk
sudo apt-get install jdk
安装完成后配置环境:
使用vim指定编辑etc目录下profile文件,添加export
#vim /etc/profile
添加进profile文件
JAVA_HOME=/home/java/jdk160_12
export JRE_HOME=/home/liujicheng/java/jdk160_12/jre
export CLASSPATH=:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
//java存放位置请自行更改
//使用 which java 查看jdk所在文件夹
方法二:本地下载jdk上传
下载对应系统32位或64位的targz文件
建议:经过还几次对服务器进行环境搭建,已经有了一点小小的见解,建议不要使用过低版本的JDK,例如服务器JDK版本为15而项目JDK版本为18的情况,就会出现无法服务器无法运行war文件的情况,建议版本为17
上传targz文件有两种方法
11输入命令行 rz 选择安装包上传1使用rz时,注意安装 2通过xftp将上传创建一个java文件夹
mkdir java
输入安装命令,将上传的targz文件解压到创建为java文件夹中
sudo tar -zxvf jdk-7u80-linux-x64targz -C /root/java
设置环境变量
使用vim指定编辑etc目录下profile文件,添加export
#vim /etc/profile添加进profile文件
JAVA_HOME=/root/java/jdk170_80
export JRE_HOME=/root/java/jdk170_80/jre
export CLASSPATH=:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
//java存放位置请自行更改//使用 which java 查看jdk所在文件夹
选择E,然后输入i 进行写操作
最后 :x退出并保存
设置默认JDK
12345sudo update-alternatives --install /usr/bin/java java /root/java/jdk170_80/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /root/java/jdk170_80/bin/javac 300 sudo update-alternatives --install /usr/bin/jar jar /root/java/jdk170_80/bin/jar 300 sudo update-alternatives --install /usr/bin/javah javah /root/java/jdk170_80/bin/javah 300 sudo update-alternatives --install /usr/bin/javap javap /root/java/jdk170_80/bin/javap 300如果之后一个版本显示:
There is only one alternative in link group java (providing /usr/bin/java):
/usr/lib/jvm/jdk170_60/bin/java
否者,选择合适的jdk
检查jdk是否安装成功,输出版本号及对应信息即安装成功
#java
#javac
#java -version
安装tomcat
方法一:ubuntu自动安装tomcat
sudo apt-get install tomcat
添加jdk和jre环境变量
JAVA_HOME=/home/java/jdk160_12
JRE_HOME=/home/homer/eclipse/jdk160_12/jre
PATH=$JAVA_HOME/bin:$JRE_HOME:$PATH
CLASSPATH=:$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar
TOMCAT_HOME=/opt/apache-tomcat-7029
启动tomcat
cd apache-tomcat-7069/bin /startupsh
出现提示说明配置成功
方法二:上传tomcat并解压
通过上述上传文件方法上传后
使用tar指令解压
tar -zxvf apache-tomcat-8024targz
然后进入apache-tomcat-7069文件夹
# cd apache-tomcat-8024 /bin/
启动tomcat
cd apache-tomcat-8024 /bin/ /startupsh
显示如下说明成功
最后输入:http://xxxx:8080/ (x代表ip地址),显示tomcat首页说明配置成功
安装Mysql
ubuntu下自动安装
sudo apt-get install mysql-server
apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
设置数据库密码:
检查Mysql是否安装成功
sudo netstat -tap | grep mysql
登陆Mysql
mysql -uroot -p密码
成功:
查看数据库
show databases
将sql文件导入
//先选定数据库
use iswust
source /root/testsql//source /文件夹/sql文件名
select from score
5java工程打包上传并运行
右键选中java项目,WAR Export 将文件以war格式导出
(注意:java工程的jdk一定要先降低到与服务器的jdk版本相同,例如java工程为18而服务器为16则会报错)
降低jdk方法:
并通过XFTP或上述的上传文件方法,上传至apache-tomcat-7069/webapps中
创建根证书的申请文件rootcsr:
创建一个自当前日期起为期十年的根证书rootcrt:
创建服务器证书密钥serverkey:
创建服务器证书的申请文件servercsr
创建自当前日期起有效期为期两年的服务器证书servercrt
创建客户端证书密钥文件clientkey
创建客户端证书的申请文件clientcsr
创建一个自当前日期起有效期为两年的客户端证书clientcrt
将客户端证书文件clientcrt和客户端证书密钥文件clientkey合并成客户端证书安装包clientpfx
保存生成的文件备用,其中servercrt和serverkey是配置单向SSL时需要使用的证书文件,clientcrt是配置双向SSL时需要使用的证书文件,clientpfx是配置双向SSL时需要客户端安装的证书文件 crt文件和key可以合到一个文件里面,把2个文件合成了一个pem文件(直接拷贝过去就行了)
x509证书一般会用到三类文,key,csr,crt。
Key是私用密钥openssl格,通常是rsa算法。
Csr是证书请求文件,用于申请证书。在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥。
crt是CA认证后的证书文,(windows下面的,其实是crt),签署人用自己的key给你签署的凭证。
1key的生成
opensslgenrsa -des3 -out serverkey 2048
这样是生成rsa私钥,des3算法,openssl格式,2048位强度。serverkey是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。可以通过以下方法生成没有密码的key:
opensslrsa -in serverkey -out serverkey
serverkey就是没有密码的版本了。
2生成CA的crt
opensslreq -new -x509 -key serverkey -out cacrt -days3650
生成的cacrt文件是用来签署下面的servercsr文件。
3csr的生成方法
opensslreq -new -key serverkey -outservercsr
需要依次输入国家,地区,组织,email。最重要的是有一个common name,可以写你的名字或者域名。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书。
4crt生成方法
CSR文件必须有CA的签名才可形成证书,可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢。
opensslx509 -req -days 3650 -in servercsr -CA cacrt -CAkey serverkey-CAcreateserial -out servercrt
输入key的密钥后,完成证书生成。-CA选项指明用于被签名的csr证书,-CAkey选项指明用于签名的密钥,-CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成。
最后生成了私用密钥:serverkey和自己认证的SSL证书:servercrt
证书合并:
catserverkey servercrt > serverpem
1配置hostname
[root@oracledb ~]#hostnamectl set-hostname oracledb
[root@oracledb ~]#echo " 10100110 oracledb" >>/etc/hosts
2关闭selinux和防火墙
[root@oracledb ~]#sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[root@oracledb ~]#setenforce 0
[root@oracledb ~]#systemctl stop firewalld
[root@oracledb ~]#systemctl disable firewalld
[root@oracledb ~]#systemctl status firewalld
3下载Oracle软件包 且上传到服务器上,进行解压缩
建议使用winSCP工具进行上传到服务器的/opt目录下
[root@oracledb ~]# ls -lh /opt/
-rw-r--r-- 1 root root 12G Mar 30 16:12 linuxx64_11gR2_database_1of2zip
-rw-r--r-- 1 root root 11G Mar 30 16:11 linuxx64_11gR2_database_2of2zip
4安装oracle环境所需要的依赖包-配置YUM源
安装依赖包之前,一定要设置好服务器上的安装源,原因是:可以在没有互联网的时候安装服务所需依赖包;常用的安装源有两种方式:
(1) 配置本地yum源
新建配置文件vi /etc/yumreposd/localsourcerepo输入如下内容:
[localsource]
name=localsource
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
(2) 生成本地yum 缓存
注意:从Oracle 11g 11202版本开始,在Linux x86_64上安装时,只需要安装64位的软件包,但是,对于11202之前的任何Oracle database 11g,下表中列出的32位和64位的安装包都必须安装
5安装oracle环境所需要的依赖包-安装依赖包
(1)安装依赖包
[root@oracledb ~]# yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel zlib zlib-devel pcre-devel unzip
(2)安装完成后,检查依赖是否全部安装成功
[root@oracledb ~]# rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel zlib zlib-devel pcre-devel unzip | grep "not installed"
(3)创建所需的用户组和用户
如果要安装Oracle数据库,通常需要以下本地操作系统用户组和用户:
Oracle inventory组(通常为 oinstall)
OSDBA组 (通常为 dba)
OSOPER组 (通常为 oper)
Oracle软件所有者(通常为 oracle)
创建用户组和用户:
[root@oracledb ~]# groupadd oinstall
[root@oracledb ~]# groupadd dba
[root@oracledb ~]# groupadd oper
[root@oracledb ~]# useradd -g oinstall -G dba oracle
(4)修改oracle用户密码:建议密码配置为字符+数字+特殊字符
[root@oracledb ~]# passwd oracle
6配置内核参数和资源限制
(1)编辑配置文件vi /etc/sysctlconf添加如下参数:
vmmax_map_count = 655360
fsaio-max-nr = 1048576
fsfile-max = 6815744
kernelshmall = 2097152
kernelshmmax = 2147483648 ###最小值: 536870912
kernelshmmni = 4096
kernelsem = 250 32000 100 128
netipv4ip_local_port_range = 9000 65500
netcorermem_default = 262144
netcorermem_max = 4194304
netcorewmem_default = 262144
netcorewmem_max = 1048576
注意:如果系统中某个参数高于上面的参数的值 ,保留较大的值,上面的数值只是官方要求的最小值,可以根据系统调整数值,以优化系统性能
(2)使内核参数生效
[root@oracledb ~]# sysctl -p
7创建oracle安装目录
如下目录,根据自己的实际情况可做修改:
[root@oracledb ~]# mkdir -p /data/app/oracle/product/1120
[root@oracledb ~]# cd /data/app/oracle/
[root@oracledb oracle]# mkdir oradata inventory fast_recovery_area
[root@oracledb ~]# chown -R oracle:oinstall /data/app/oracle
[root@oracledb ~]# chmod -R 775 /data/app/oracle
8配置oracle用户环境变量
编辑配置文件vi /home/oracle/bash_profile添加如下内容:
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/1120
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
9 解压下载好的两个Oracle数据库文件
[root@oracledb ~]# cd /opt
[root@oracledb ~]# unzip linuxx64_11gR2_database_1of2zip -d /data
[root@oracledb ~]# unzip linuxx64_11gR2_database_2of2zip -d /data
10 编辑静默安装响应文件
(1)切换到oracle用户执行
[root@oracledb ~]# su - oracle
(2)切换到响应文件的目录下
[oracle@oracledb ~]$ cp -R /data/database/response/
[oracle@oracledb ~]$ cd response/
[oracle@oracledb response]$ ls
dbcarsp db_installrsp netcarsp
11修改配置文件:vi /home/oracle/response/db_installrsp,修改以下变量的值
oracleinstalloption=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/app/oracle/product/1120
ORACLE_BASE=/data/app/oracle
oracleinstalldbInstallEdition=EE
oracleinstalldbDBA_GROUP=dba
oracleinstalldbOPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
12 开始静默安装Oracle 11g
(1)开始安装oracle数据库
[oracle@oracledb ~]$ cd /data/database
[oracle@oracledb ~]$ /runInstaller -silent -responseFile /home/oracle/response/db_installrsp -ignorePrereq
注意:安装期间可以使用tail命令查看oracle的安装日志,且日志文件名称是根
据自己的实际执行时间确定的,安装日志文件会在安装时提示,需要等待3分钟左右,注意不要停止运行;安装完成后有如下提示,如果有类似如下提示,说明安装完成。
The following configuration scripts need to be executed as the "root" user
#!/bin/sh
#Root scripts to run
/data/app/oraInventory/orainstRootsh
/data/app/oracle/product/1120/db_1/rootsh
To execute the configuration scripts:
1 Open a terminal window
2 Log in as "root"
3 Run the scripts
4 Return to this window and hit "Enter" key to continue
Successfully Setup Software
13使用 root用户执行脚本
(1)切换到root用户执行
[root@oracledb ~]# su - root
(2)执行两个用户脚本
[root@oracledb ~]# sh /data/app/oracle/inventory/orainstRootsh
[root@oracledb ~]# sh /data/app/oracle/product/1120/rootsh
14配置监听程序
(1)切换到oracle用户执行(建议退出重进oracle用户)
[root@oracledb ~]# su - oracle
(2)配置监听,查看输出结果
[oracle@oracledb ~]$ netca /silent /responsefile /home/oracle/response/netcarsp
(3)查看监听服务状态,若没启动需要启动
[oracle@oracledb ~]$ lsnrctl status
[oracle@oracledb ~]$ lsnrctl start
查看结果:
Parsing command line arguments:
Parameter "silent" = true
Parameter "responsefile" = /data/etc/netcarsp
Done parsing command line arguments
Oracle Net Services Configuration:
Profile configuration complete
Oracle Net Listener Startup:
Running Listener Control:
/data/app/oracle/product/1120/bin/lsnrctl start LISTENER
Listener Control complete
Listener started successfully
Listener configuration complete
Oracle Net Services configuration successful The exit code is 0
(4)查看监听端口
[oracle@oracledb ~]$ netstat -tnpl | grep 1521
15静默创建数据库
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/data/app/oracle/oradata
RECOVERYAREADESTINATION=/data/app/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = " 6552 "
##其中TOTALMEMORY = " 6552 " 为6552 MB,物理内存8G80%
(2)切换到oracle用户执行
[root@oracledb ~]# su - oracle
(3)执行静默建库
[oracle@oracledb ~]$ dbca -silent -responseFile /home/oracle/response/dbcarsp
执行过程如下:
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/data/app/oracle/cfgtoollogs/dbca/orcl/orcllog" for further details
(4)查看进程
[oracle@oracledb ~]$ ps -ef | grep ora_ | grep -v grep
(5)再次查看监听状态进行确认
[oracle@oracledb ~]$ lsnrctl status
结果显示:
The command completed successfully
16至此数据库就安装成功了,下面我们登录下数据库
(1)切换到oracle用户执行
[root@oracledb ~]# su - oracle
(2)登录数据库
[oracle@oracledb ~]$ sqlplus / as sysdba
(3)查询实例状态
SQL>select status from v$instance;
(4)查看数据库版本
SQL> select from v$version;
(5)激活scott用户
SQL>alter user scott account unlock;
SQL>alter user scott identified by tiger;
SQL>select username,account_status from dba_users;
17设置Oracle开机启动
(1)修改配置文件vi /data/app/oracle/product/1120/bin/dbstart 修改如下内容:
将脚本中的ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
(2)修改配置文件vi /data/app/oracle/product/1120/bin/dbshut 修改如下内容:
将脚本中的ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
(3)修改配置文件 vi /etc/oratab修改如下内容,
orcl:/data/app/oracle/product/1120:Y
(4)新建文件:vi /etc/rcd/initd/oracle 注意:建议全部复制脚本内容
#! /bin/bash
# oracle: Start/Stop Oracle Database 11g R2
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System
# processname: oracle
/etc/rcd/initd/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/data/app/oracle/product/1120
ORACLE_USER=oracle
case "$1" in
start)
if [ -f $LOCKFILE ]; then
echo $0 already running
exit 1
fi
echo -n #34;Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
;;
stop)
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping
exit 1
fi
echo -n #34;Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
;;
restart)
$0 stop
$0 start
;;
status)
if [ -f $LOCKFILE ]; then
echo $0 started
else
echo $0 stopped
fi
;;
)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
(5)给 /etc/initd/oracle添加执行权限
[root@oracledb ~]# chmod +x /etc/initd/oracle
(6)开机启动oracle
[root@oracledb ~]# chkconfig oracle on
(7)给启动文件加权限
[root@oracledb ~]# cd /data/app/oracle/product/1120/bin/
[root@oracledb bin]# chmod 6751 oracle
[root@oracledb bin]# cd /var/tmp
[root@oracledb tmp]# chown -R oracle:oinstall oracle
(8)重启测试
[root@oracledb ~]# reboot
(9)切换到oracle用户登录状态下
[root@oracledb ~]# su - oracle
[oracle@oracledb ~]$ sqlplus / as sysdba
(10)解除锁定
SQL> alter user SYSTEM account unlock;
(11)这时候就可以用Navicat连接了
SQL> conn;
用户名:SYSTEM
密码:oracle
如果不能正确连接,改下密码试试
alter user system identified by 新密码
[root@oracledb ~]# mkdir -p /data/szzt
[root@oracledb ~]# cd /data/
[root@oracledb data]# chown oracle:oinstall -R szzt
[root@oracledb data]# ll
total 0
drwxr-xr-x 3 root root 20 Apr 8 21:14 app
drwxr-xr-x 8 root root 128 Aug 21 2009 database
drwxr-xr-x 2 oracle oinstall 6 Apr 14 16:17 szzt
[root@oracledb ~]# su - oracle
[oracle@oracledb ~]$ sqlplus / as sysdba
SQL> conn cshi
Enter password: 登录失败
Connected
SQL> create temporary tablespace DB_DATA_TMP tempfile'/data/szzt/DB_DATA_TMPdbf' size 500m autoextend on next 100m maxsize 10240m extent management local;
显示结果:
Tablespace created
SQL> create tablespace DB_DATA logging datafile'/data/szzt/DB_DATAdbf' size 2048m autoextend on next 100m maxsize 10240m extent management local;
显示结果:
Tablespace created
SQL> create user ceshi identified by ceshi default tablespace DB_DATA temporary tablespace DB_DATA_TMP;
显示结果:
User created
SQL> grant dba to ceshi;
显示结果:
Grant succeeded
SQL> conn ceshi ###用户名和密码一样,此时登录成功
[oracle@oracledb ~]$ cd /data/app/oracle/product/1120/bin/
注意:数据库导出操作是在 源服务器 上进行
[oracle@oracledb bin]$ exp 用户名/密码@ IP地址 /orcl file =/data/szzt/ceshidmp owner='用户名'
Export terminated successfully without warnings
注意:数据库导入操作是在 目标服务器 上进行
[oracle@oracledb bin]$ imp ceshi/ceshi@ 10100110 /orcl file=/data/szzt/ceshidmp fromuser=ceshi touser=ceshi
显示结果:可以看到导入的表过程(10100110是自己的目标数据库服务器)
Import terminated successfully without warnings
(1)、数据导入完毕后,我们可以使用DBeaver对数据库进行远程管理
(2)、测试连接,没问题后完成新建
(3)、连接上来后,我们就可以使用工具来进行管理数据库
0条评论