Linux下搭建Java web开发环境
概述:快速搭建,简洁版查看:https://blog.csdn.net/qq_31708763/article/details/867133981.Linux环境一台(VM或者云服务器,本教程采用百度云服务器BCC)Baidu Cloud Compute服务器配置说明:CentOS Linux release 7.5.1804 (Core) ,java version "1.8.0_1.
概述:
快速搭建,简洁版查看:https://blog.csdn.net/qq_31708763/article/details/86713398
1.Linux环境一台(VM或者云服务器,本教程采用百度云服务器BCC)Baidu Cloud Compute
服务器配置说明:CentOS Linux release 7.5.1804 (Core) ,java version "1.8.0_191",tomcat7.0.92
2.新建几个目录,/software /data /log /backup,用来存放jdk、tomcat、MySQL等软件。
3.离线下载jdk、tomcat、MySQL软件,使用FTP等工具上传到Linux服务器。
4.安装与配置。
详细步骤:
1.相关软件的下载。
jdk8官方下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
tomcat官网:http://tomcat.apache.org/
MySQL官网下载地址(社区版):https://dev.mysql.com/downloads/mysql/5.6.html#downloads
bundle,捆绑,包括所有,也可以单独下载。
2.上传下载好的安装包到服务器(使用SecureCRT或者XShell即可)
新建一个目录来存放软件。
cd /
mkdir /backup
mkdir /backup/software
3.安装jdk。(rpm包安装无需配环境变量,tar.gz压缩包安装需要配置/etc/profile)
查看是否已经有Java环境(有些Linux可能会带java环境,例如open jdk等)
java -version
rpm -qa|grep java
如果没有,则什么都不会显示。
##进入安装包文件目录
cd /backup/software
##安装jdk,报错unpacking?? sudo去掉试试
sudo rpm -ivh jdk-8u191-linux-x64.rpm
##检查是否安装成功
java -version
安装时候,可能报错,error: unpacking of archive failed on file /usr/java/jdk1.8.0_191-amd64/lib/missioncontrol/plugins/org.eclipse.emf.ecore_2.10.1.v20140901-1043.jar;5c3b1e84: cpio: read failed - No such file or directory
error: jdk1.8-2000:1.8.0_191-fcs.x86_64: install failed
应该是权限问题,把sudo去掉试试。
4.Tomcat安装。
##进入安装包位置
cd /backup/software
##解压Tomcat
tar -zxvf apache-tomcat-7.0.92.tar.gz
##移动tomcat文件夹到/usr下
mv apache-tomcat-7.0.92 /usr/tomcat7.0.92
##配置中文乱码和端口,将8080改为80,后面加上URIEncoding="UTF-8"
vi /usr/tomcat7.0.92/conf/server.xml
##将tomcat加入开机自启动
echo "source /etc/profile" >>/etc/rc.d/rc.local
echo "/usr/tomcat7.0.92/bin/startup.sh" >>/etc/rc.d/rc.local
##这里有点要说明,rc.local先于/etc/profile执行,所以会得不到JAVA环境变量,所以在startup.sh前加入代码:source /etc/profile 这样就可以
##进入目录
cd /usr/tomcat7.0.92/bin/
##停止
sh shutdown.sh
##启动
sh startup.sh
5.MySQL的安装。
下载下拉的MySQL社区版bundle解压后,会有这么几个文件。开发用到的就三个server、client、devel
##查看是否有MySQL
rpm -qa|grep mysql
如果什么都没返回,说明没有装MySQL可以继续执行安装,如果有返回东西,那么需要卸载旧的MySQL。点击查看MySQL卸载教程。
依次执行安装装:
##进入安装包位置
cd /backup/software/MySQL-5.6.42-1.el6.x86_64.rpm-bundle
##最好顺序执行,因为其中有依赖(可以一下子复制进去)
rpm -ivh MySQL-server-5.6.42-1.el6.x86_64.rpm
rpm -ivh MySQL-client-5.6.42-1.el6.x86_64.rpm
rpm -ivh MySQL-devel-5.6.42-1.el6.x86_64.rpm
=================小插曲 start=================================
安装server时候,报错:
warning: MySQL-server-5.6.42-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
perl(Data::Dumper) is needed by MySQL-server-5.6.42-1.el6.x86_64
本文解决方法:
1.查看是否安装perl。(一般都有,无需安装)
perl --version
2.安装autoconf。即可解决。
yum -y install autoconf
=================小插曲 end=================================
https://blog.csdn.net/u010440155/article/details/54949839
https://blog.csdn.net/qq_35605632/article/details/57080530
MySQL安装成功:
将MySQL配置文件复制到/etc下。
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
修改初始密码:
方式一:
##启动
service mysql start
service mysql stop
##跳过权限检查,然后ctral+c
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
##跳过权限检查,Enter password:随便输入或者不输入
mysql -u root -p
use mysql;
update user set password=PASSWORD('test123');
flush privileges;
exit;
设置MySQL外网可以访问:
##重启服务
service mysql restart
##进入MySQL,输入密码test123
mysql -u root -p
##设置远程访问,%表示所有主机,可以指定ip
##GRANT ALL PRIVILEGES ON *.* TO 远程用户名@"%或者ip" IDENTIFIED BY '远程密码' WITH GRANT OPTION;
##例如:先修改密码,否则会报下图错误。you must set password before executing this statement
SET PASSWORD=PASSWORD('test123');
GRANT ALL PRIVILEGES ON *.* TO remote@"%" IDENTIFIED BY '123456' WITH GRANT OPTION;
##刷新权限,立即生效
flush privileges;
exit;
##重启服务
service mysql restart
报错:
设置大小写敏感和最大连接:
##编辑配置文件,在[mysqld]节点下添加一下内容
vi /etc/my.cnf
lower_case_table_names=1
max_connections=2000
0代表:数据库名和表名使用建表时指定的大小写格式,即大小写敏感,查找比较时也时区分大小写。
1代表:数据库名和表名在建库建表时自动存储为小写,查找时也自动转换为小写进行匹配,且应用于表的别名
2代表:库名表名使用建库建表时指定的大小写,即名称区分大小写,但是在查找和比较时不区分大小写统一转换为小写进行查找比较
查看MySQL是否开机自启:
##设置
chkconfig mysql on
##查看
chkconfig --list | grep mysql
配置防火墙开放对应的端口:new file
===============centOS7 插曲 start==============
Centos7 默认预装了 firewalld 服务,采用 firewall-cmd 命令或者 firewall-config 图形界面,可以动态管理 kernel netfilter 的临时或永久接口规则,规则更新实时生效,不需要重启 firewalld 服务。
Centos6 默认使用iptables配置防火墙。
此处介绍centos7的防火墙配置:
##添加一个端口到区域 firewall-cmd --zone=myzone --add-port=8080/tcp 返回success
firewall-cmd --zone=public --add-port=80/tcp --permanent
##如果不加--permanent参数,则该规则仅仅是运行时规则,firewall-cmd --reload 后该规则消失。
##更新防火墙规则,不需要重启服务
firewall-cmd --reload
##查看指定端口状态
firewall-cmd --zone=public --query-port=80/tcp
##移除指定端口删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
##systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
端口可以是范围,也可以指定
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent
协议是tcp或者udp
##查看防火墙状态
systemctl status firewalld
##开启防火墙
systemctl start firewalld
##关闭防火墙
systemctl stop firewalld
##设置firewalld 开机启动
systemctl enable firewalld
##启动服务
systemctl start firewalld.service
开启防火墙 # service firewalld start
关闭防火墙 # systemctl stop firewalld
centos7.3 上述方式可能无法开启,
可以先systemctl unmask firewalld.service
然后systemctl start firewalld.service
修改iptables 有些版本需要安装iptables-services # yum install iptables-services 然后修改进目录 /etc/sysconfig/iptables修改内容
##查看永久放行的服务
firewall-cmd --get-service —permanent
##查看某个端口是否打开
firewall-cmd --query-port=6379/tcp
##移除指定端口
firewall-cmd --permanent --remove-port=123/tcp
##查看所有打开的端口
firewall-cmd --zone=public --list-ports
##查看版本
firewall-cmd --version
##查看帮助
firewall-cmd --help
##查看运行状态
firewall-cmd --state
##查看防火墙状态
systemctl status firewalld
##查看指定端口状态
firewall-cmd --zone=public --query-port=80/tcp
##移除指定端口删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
##查看监听(Listen)的端口
netstat -lntp
##查看已打开的端口
netstat -anp
##检查端口被哪个进程占用
netstat -lnp|grep 8080
开机时启用防火墙服务:
systemctl enable firewalld
开机时禁用防火墙服务:
systemctl disable firewalld
查询已经启动的服务列表:
systemctl list-unit-files|grep enabled
查询启动失败的服务列表:
systemctl --failed
如果您想临时关闭防火墙,输入命令systemctl stop firewalld。
说明 这只是暂时关闭防火墙,下次重启Linux后,防火墙还会开启。
如果您想永久关闭防火墙,输入命令systemctl disable firewalld。
说明 您可参考firewalld官网信息https://firewalld.org/来决定何时开启防火墙。
===============centos7 插曲 end==============
===============centos6 插曲 start==============
##编辑防火墙配置文件
vi /etc/sysconfig/iptables
增加:
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
##重启防火墙
service iptables restart
##查看端口是否打开
netstat -an | grep 端口 或 netstat -tunlp |grep 端口
##查看哪些端口被打开
netstat -anp
##查看当前防火墙的状态
systemctl status firewalld
===============centos6 插曲 end==============
阿里服务器、腾讯服务器、华为云有可能需要到控制台再开放端口。
百度服务器默认允许所有端口。
以上安装包可以直接云盘下载(都是官网下载的):https://pan.baidu.com/s/1p0B4C8zt37KLHfoOHG4LeA
其他相关:
Linux挂载数据盘:https://blog.csdn.net/qq_31708763/article/details/86506959
查看Linux系统相关信息:https://blog.csdn.net/qq_31708763/article/details/86512861
更改服务器名称:https://blog.csdn.net/qq_31708763/article/details/86509520
更多推荐
所有评论(0)