Linux服务器安装JavaWeb环境(一) Jdk,Maven,Nginx,Tomcat
这里以CentOS7.x 64位 阿里云Linux服务器为例
/*****************【安装JDK】****************/
前言:首先我们需要一个工具能够连接到服务器,这里先选用shell
1.先登陆服务器
2.看到[root@xxxxxxxx ~]#,这xxxxxx这个长串是主机名,感觉又长又臭,我们来改下它。 网络上的教程:修改/etc/sysconfig/network文件中的HOSTNAME值和修改/etc/hosts文件,在这里不起作用。
CentOS7一条命令搞定:
hostnamectl set-hostname mysvr
再输入
reboot
命令重启机器,
重新连接上去,当当当~
3.安装JDK
手动安装需要先卸载系统自带的jdk 列举匹配已安装的java的软件包:
yum list installed | grep java
卸载安装的jdk:
yum -y remove java-1.7.0-openjdk*
yum -y remove java-1.8.0-openjdk*
我们新建一个目录来存放jdk,
mkdir /usr/local/java
进入该目录
cd /usr/local/java
接下来的操作都是基于此路径进行,如果是存放在其他路径下,请注意对应修改 #####1.下载压缩包,tar.gz
(1)本地先下载好JDK的tar.gz压缩包,再通过FTP工具上传到服务器上
先到官网上查看需要的jdk版本,获取压缩包的下载链接,下载完压缩包后需要使用rz指令,在此之前需要安装指令插件
yum install lrzsz -y
使用rz指令打开本地文件,上传压缩包
rz
4.解压
使用命令
tar -zxvf jdk-8u171-linux-x64.tar.gzxxxxx(输入文件名可以输入前一部分,用tab键自动补全)
解压完后,多出来一个目录,如下
检查下下载下来的jdk压缩包正常不,输入命令
/usr/local/java/jdk1.8.0_171/bin/java -version
/usr/local/java/jdk1.8.0_171/bin/javac -version
正常情况是能够显示jdk的版本信息,即为正常,否则呵呵,你下载的是假的压缩包,重新下载!
5.编辑配置文件,设置环境变量
输入命令
vim /etc/profile
在profile文件中添加如下内容:
输入命令进入insert 模式
i
(JAVA_HOME的值根据实际路径填写)
#set java environment
JAVA_HOME=/usr/local/java/jdk1.8.0_171
CLASS_PATH=.:$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASS_PATH PATH
按Esc键 退出insert模式进入recommed模式
然后保存退出
:wq
6.使配置生效,推荐方法(2)
使用source命令:
source /etc/profile
7.验证JDK是否安装好了
分别输入命令 java -version
和 javac -version
显示了jdk的版本信息,说明已正确配置环境变量
**如果出现了-bash: java: command not found
,检查上面的各个步骤,特别是第2步正常,然后出现这个情况的,请仔细检查 配!置!文!件!/etc/profile的各项值是否设置正确,一个标点符号都不要给放过!!!
**如果出现了-bash: ./java: cannot execute binary file
,出现这个错误的原因可能是在32位的操作系统上安装了64位的jdk,检查jdk版本和Linux版本位数是否一致,输入命令 uname -a,x86_64是64位,否则是32位。
/*****************【安装Maven】****************/
1.下载地址:https://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/
2.上传服务器并解压后修改文件夹名称:
3.配置环境变量保存并退出:
vi /etc/profile
4.刷新环境变量并且检查版本,就表示成功
source /etc/profile
mvn -version
/*****************【安装Nginx】****************/
1. 下载Nginx
到官网http://nginx.org/下载对应nginx包,推荐使用稳定版本进入官网之后界面如下
点击download进行到下一页
然后下载所需要的版本(强烈建议下载稳定版)
如下链接提供百度网盘下载:
链接:https://pan.baidu.com/s/1PZRMkYeAoMvpP9m_qY011g
提取码:i6aj
2. 上传到指定服务器
上传nginx到自己的Linux系统,此处我是上传到了/home/software/
3. 安装依赖环境
1. 安装gcc环境
yum install gcc-c++
2. 安装PCRE库,用于解析正则表达式
yum install -y pcre pcre-devel
3. zlib压缩和解压缩依赖
yum install -y zlib zlib-devel
4. SSL安全的加密的套接字协议层,用于HTTP安全传输,也就是https
yum install -y openssl openssl-devel
4. 解压
需要注意,解压后得到的是源码,源码需要编译后才能安装
tar -zxvf nginx-1.16.1.tar.gz
5. 配置Nginx
配置之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错
mkdir /var/temp/nginx -p
在Nginx解压后的目录之下,输入如下命令进行配置,目的是为了创建makefile文件
./configure \--prefix=/usr/local/nginx \--pid-path=/var/run/nginx/nginx.pid \--lock-path=/var/lock/nginx.lock \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--with-http_gzip_static_module \--http-client-body-temp-path=/var/temp/nginx/client \--http-proxy-temp-path=/var/temp/nginx/proxy \--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \--http-scgi-temp-path=/var/temp/nginx/scgi
注意:上面中的“\” 在命令行中是换行,用于提高可读性。
创建Makefile文件成功
进入nginx解压过后的目录进行查看如下
配置命令解释:
命令 |
命令解释 |
--prefix |
指定nginx安装目录 |
--pid-path |
指向nginx的pid |
--lock-path |
锁定安装文件,防止被恶意篡改或误操作 |
--error-log |
错误日志 |
--http-log-path |
http日志 |
--with-http_gzip_static_module |
启用gzip模块,在线实时压缩输出数据流 |
--http-client-body-temp-path |
设定客户端请求的临时目录 |
--http-proxy-temp-path |
设定http代理临时目录 |
--http-fastcgi-temp-path |
设定fastcgi临时目录 |
--http-uwsgi-temp-path |
设定uwsgi临时目录 |
--http: :scgi-temp-path |
设定scgi临时目录 |
6. 编译&安装
make
make install
7. 启动Nginx
进入sbin目录启动nginx
启动: ./nginx停止: ./nginx -s stop重新加载:./nginx -s reload
8. 测试
打开浏览器,访问虚拟机所处内网ip即可打开nginx 状认页面,显示如下便表示安装成功:
注意事项:
1.如果在云服务器安装,需要开启默认的nginx端口: 80
2.如果在虚拟机安装,需要开启默认的nginx端口: 80
3.本地win或mac需要关闭防火墙
若在启动Nginx的时候遇到Nginx.pid打开失败或失效问题,请参考以下链接 https://www.cnblogs.com/jhtian/p/12517958.html 关于Nginx.pid打开失败或失效的解决办法
/*****************【安装Nginx-开机自启动】****************/
1.shell脚本启动
第一步:我们在/etc/init.d下新建一个文件nginx(需要在root权限下操作)
vi /etc/init.d/nginx
写下如下代码,nginx自启动脚本:
#!/bin/sh
# nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid# Source function library.
. /etc/rc.d/init.d/functions# Source networking configuration.
. /etc/sysconfig/network# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"lockfile=/var/lock/subsys/nginxstart() {[ -x $nginx ] || exit 5[ -f $NGINX_CONF_FILE ] || exit 6echo -n $"Starting $prog: "daemon $nginx -c $NGINX_CONF_FILEretval=$?echo[ $retval -eq 0 ] && touch $lockfilereturn $retval
}stop() {echo -n $"Stopping $prog: "killproc $prog -QUITretval=$?echo[ $retval -eq 0 ] && rm -f $lockfilereturn $retval
}restart() {configtest || return $?stopstart
}reload() {configtest || return $?echo -n $"Reloading $prog: "killproc $nginx -HUPRETVAL=$?echo
}force_reload() {restart
}configtest() {$nginx -t -c $NGINX_CONF_FILE
}rh_status() {status $prog
}rh_status_q() {rh_status >/dev/null 2>&1
}case "$1" instart)rh_status_q && exit 0$1;;stop)rh_status_q || exit 0$1;;restart|configtest)$1;;reload)rh_status_q || exit 7$1;;force-reload)force_reload;;status)rh_status;;condrestart|try-restart)rh_status_q || exit 0;;*)echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"exit 2
esac
这里特别提醒注意2点
1.# config: /usr/local/nginx/conf/nginx.conf 这个路径要能对应上你的安装路径,
# pidfile: /usr/local/nginx/logs/nginx.pid 这个路径需要修改/usr/local/nginx/conf/nginx.conf 配置文件,下面会讲怎么修改
2.nginx="/usr/local/nginx/sbin/nginx" 和 NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 这2个地方的位置根据自己安装位置修改
第二步:保存退出之后,修改/usr/local/nginx/conf/nginx.conf 配置文件,指向nginx.pid文件路径
(1)进入cd /usr/local/nginx/conf/ 目录,编辑配置文件nginx.conf ;
(2)在配置文件中有个注释的地方: #pid logs/nginx.pid;
(3)将注释放开,并修改为:pid /usr/local/nginx/logs/nginx.pid;
(4)在 /usr/local/nginx 目录下创建 logs 目录:mkdir /usr/local/nginx/logs
第三步:保存退出之后,给其增加可执行权限(普通文件变为可执行文件)
chmod +x /etc/init.d/nginx
第四步:设置脚本开机自启动
把这个脚本设置成系统启动时自动执行,系统关闭时自动停止,使用如下命令:
chkconfig --add nginx
第五步:验证
执行 sudo reboot。重启之后就会发现,Nginx已经成功运行了。
修改了可执行文件后 重新加载:
systemctl daemon-reload
/*****************【安装Tomcat】****************/
1.官网下载tomcat
下载安装tomcat(http://tomcat.apache.org/)我这边是下载的apache-tomcat-8.0.50.tar.gz
解压
tar -zxvf apache-tomcat-8.0.50.tar.gz
我是放在了usr/local/tomcat下所以要创建tomcat文件夹并将解压文件移动到tomcat下
mkdir /usr/local/tomcat
进入conf目录下修改tomcat-users.xml 文件, wq 保存并退出
cd /usr/local/tomcat/apache-tomcat-8.0.50/conf
vim tomcat-users.xml
<role rolename="manager-gui" />
<role rolename="admin-gui" />
<user username="admin" password="admin" roles="admin-gui" />
<user username="tomcat" password="admin" roles="manager-gui" />
进入tomcat安装bin目录并启动
cd usr/local/tomcat/apache-tomcat-8.0.50/bin/
./startup.sh
查看服务器是否启动成功,进入日志查看
cd usr/local/tomcat/apache-tomcat-8.0.50/logs/
tail -n 100 catalina.out
/*****************【安装Tomcat-开机自启动】****************/
1.shell脚本启动
众所周知,在Linux中设置开机自启动的服务,需要在/etc/rcX.d下挂载。除此之外还需要在/etc/init.d下些启动脚本。其实很简单,先export出所需要的环境变量,例如JAVA_HOME,JRE_HOME, CATALINA_HOME, CATALINA_BASE什么的,然后再直接调用$CATALINA_HOME/bin/startup.sh就能成功启动。
第一步:我们在/etc/init.d下新建一个文件tomcat(需要在root权限下操作)
vi /etc/init.d/tomcat
写下如下代码,tomcat自启动脚本:
#!/bin/sh
# chkconfig: 345 60 10
# description: Auto-starts tomcat
# /etc/init.d/tomcatd
# Tomcat auto-start
# Source function library.
#. /etc/init.d/functions
# source networking configuration.
#. /etc/sysconfig/network
RETVAL=0
export JAVA_HOME=/usr/local/java/jdk1.8.0_231
export JRE_HOME=/usr/local/java/jdk1.8.0_231/jre
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.54
export CATALINA_BASE=/usr/local/tomcat/apache-tomcat-8.5.54
start()
{if [ -f $CATALINA_HOME/bin/startup.sh ];thenecho $"Starting Tomcat"$CATALINA_HOME/bin/startup.shRETVAL=$?echo " OK"return $RETVALfi
}
stop()
{if [ -f $CATALINA_HOME/bin/shutdown.sh ];thenecho $"Stopping Tomcat"$CATALINA_HOME/bin/shutdown.shRETVAL=$?sleep 1ps -fwwu root | grep tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9echo " OK"# [ $RETVAL -eq 0 ] && rm -f /var/lock/...return $RETVALfi
}case "$1" instart) start;;stop) stop;;restart)echo $"Restaring Tomcat"$0 stopsleep 1$0 start;;*)echo $"Usage: $0 {start|stop|restart}"exit 1;;
esac
exit $RETVAL
这里特别提醒注意2点
1.ps -fwwu root | grep tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9,熟悉Linux命令的人应该都清楚这句话的意义,这里就简单说下前半部分,查询root用户下tomcat的进程PID,个人根据实际情况修改。
2.JAVA_HOME等配置按照自己的安装目录来改
第二步:保存退出之后,给其增加可执行权限(普通文件变为可执行文件)
chmod +x /etc/init.d/tomcat
第三步:设置脚本开机自启动
把这个脚本设置成系统启动时自动执行,系统关闭时自动停止,使用如下命令:
chkconfig tomcat on
第四步:验证
执行 sudo reboot。重启之后就会发现,Tomcat已经成功运行了。
Linux服务器安装JavaWeb环境(一) Jdk,Maven,Nginx,Tomcat相关推荐
- Linux配置JavaWeb环境(JDK+Tmocat+Mysql+Nginx+Redis+IDEA部署)
版本信息: Tomcat 版本:Tomcat 8.5.53 JDK 版本:JDK 1.8.0_241 FTP工具:Winscp 安装前准备 1.关闭防火墙 为什么关闭防火墙呢? 答:因为防火墙拦截外来 ...
- Linux服务器安装JavaWeb环境(二) Redis,MySql,Zookeeper,Keepalive
/*****************[安装RedisServer]****************/ 第一步:下载redis安装包 http://download.redis.io/releases/ ...
- Linux服务器安装JavaWeb环境(三) RocketMQ,Nacos
/*****************[安装RocketMQ]****************/ 一.单Master模式 1.下载安装包 http://rocketmq.apache.org/dowlo ...
- Linux服务器安装JavaWeb环境(四) Sentinel,Xxl-Job,Seata
/*****************[安装Sentinel]****************/ Sentinel主要负责流控,熔断,降级,分为两部分,服务端maven依赖包和Sentinel-Dash ...
- Mac环境下配置Java开发环境(jdk+maven+tomcat+idea)
记录下在Mac环境下配置java开发环境,包括jdk,maven,tomcat和idea 下载及安装jdk 首先到官网下载jdk,这里就用目前官网最新的9.0.4 无脑双击安装就可以: 配置jdk 进 ...
- 玩转服务器(华为云)—环境安装(jdk安装,tomcat安装)
目录 前言 jdk安装 tomcat 安装 结语 前言 在前面咱们讲到华为云的购买以及一些配置,通过上一文即可获得一个可以直接访问使用的云服务器.但是对于不同的人群服务器的使用用途可能不同,对于咱们大 ...
- Linux常用开发环境软件-jdk安装
linux下安装jdk1.8版本 用rpm -qa | grep java查看rpm安装的jdk版本 卸载openjdk [root@huangdanfeng ~]# rpm -e --nodeps ...
- 内网linux服务器安装运行环境,linux下如何在内网中安装docker_网站服务器运行维护...
docker的镜像和仓库是什么_网站服务器运行维护 docker镜像就像是一个linux的文件系统,这个文件系统里面包含了可以运行在linux内核的程序以及相应的数据.仓库是集中存储镜像的地方. 一. ...
- Linux中JavaWeb环境安装
一.安装jdk详情 参考: http://t.csdn.cn/8F5vae 二.安装MySql 8 详情 linux安装mysql8 一步一步超详细教程_墨语wcy的博客-CSDN博客_linux安装 ...
最新文章
- 静态路由_【零基础学云计算】静态路由!静态路由!静态路由!原理与配置
- github md文件里显示markdown公式的解决办法
- iis 发布MVC HTTP错误 403.14
- 《Raspberry Pi用户指南》——2.4 使用外部存储设备
- DUILib 中的通知事件
- ABAP动态生成经典应用之Dynamic SQL Excute 程序
- Mybatis 动态sql语句(if标签和where标签)
- web每隔几秒页面刷新
- linux vps 可视化监控,CentOS 7安装Grafana 4及结合Zabbix3.2实现可视化监控图形
- 不需要的系统垃圾把它杀掉!
- Xcode7中你一定要知道的炸裂调试神技(转)
- js navigator platform
- 整人c语言代码大全,(C语言整人代码大全.doc
- 使用kepware配置opcua服务端,并使用UaExpert作为opc客户端进行连接(匿名和用户名密码)
- NHOI2019总结
- CCReportAdv(高级WinCC报表控件)
- Android AVD 存放路径修改
- 南通大学杏林学院计算机专业,南通大学杏林学院代码
- Walle和加固宝的优雅结合
- Kafka入门三:几种消费方式
热门文章
- MySQL03:DML语言
- c语言全民,C语言还有学习的必要吗
- python写一个数据库的界面_Python GUI教程(十四):在PyQt5中使用数据库
- vue标准时间改为时间戳_2021考研网上确认照片采集新标准公布 网上确认时间表...
- Distances to Zero CodeForces - 803B (二分)
- 十 全局结果页面的配置
- 在web浏览器上显示室内温度(nodeJs+arduino+socket.io)
- request中getParameter和getAttribute的区别
- spring mvc 下载文件链接
- 【转载】一步步构建大型网站架构