一.项目必备软件及基本思路
项目必备:
- 虚拟机:VMware Workstation (已安装linux的 CentOS7.4版本)
- 项目:java web项目 (必须在本地部署编译后选择项目的webRoot,改为ROOT(ROOT包含下面四个关键文件),放到tomcat下的webapps下即可,因为tomcat启用一个工程的时候,就是发布了除了JSP以外的,所有已被编译过的java文件,所以只能放在本地部署生成编译后的class文件)。
- java环境配置:配置JDK
- 服务器:tomcat
- 数据库:MySQL
基本思路:(特别注意各处的编码设置)
1.配置java环境(下载jdk并配置环境变量)
2.下载并安装tomcat (设置tomcat编码)
3.安装mysql并导入sql(注意:mysql客户端和服务器端编码设置,必须设置完再导入sql,这个折腾了好久)
4.项目导入并修改数据库连接配置
5.启动mysql,启动tomcat,访问即可!
二.具体操作
1.将centOS的yum源更新为国内的阿里云源 (方便下载和安装软件包)
第一步:备份你的原镜像文件,以免出错后可以恢复。
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
第二步:下载新的CentOS-Base.repo 到/etc/yum.repos.d/
我的做法是将文件先下载到本地,然后通过xshell传到对应目录下
第三步:运行yum makecache生成缓存 (管理安装包,下次安装直接找到安装包即可)
yum clean all
yum makecache
2.下载java环境(java runtime environment )
yum search java (找到 java-1.8.0-openjdk.x86_64 )
yum install java -1.8.0-openjdk.x86_64
java -version //显示ok,安装配置成功
3.下载tomcat8.0(免安装版)
第一步:下载安装tomcat(http://tomcat.apache.org/)我这边是下载的apache-tomcat-8.0.50.tar.gz
我是放在了usr/local/tomcat下所以要创建tomcat文件夹并将解压文件移动到tomcat下(由于之前新建过再次创建或出现重复)
mkdir /usr/local/tomcat
然后通过xshell将解压后的文件夹移动到/usr/local/tomcat下
第二步:设置Tomcat编码,配置Tomcat服务器编码为UTF-8:(这个很重要!!)
打开tomcat安装目录下的conf/server.xml文件,(大约在69行处)
将8080端口的<connector></connector>标签中设置成 URIEncoding=”UTF-8”。
如:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
第三步:启动Tomcat
./startup.sh
我在启动tomcat(./startup.sh) 的时候遇到了permission denied的情况,这是因为权限不够,需要对tomcat赋可执行权限。
chmod -R 777 apache-tomcat-8.5.42/
好了,问题解决!
使用浏览器访问 http://localhost:8080(或服务器ip),出现tomcat默认页面,说明已经安装成功
4.下载并安装MYSQL
这一步也是遇到了巨坑,我安装的版本是centOS7.4,根据网上的教程安装了mysql之后发现启动不了服务,后来一查,原因是该版本已经不支持mysql,于是转而安装了mariaDB
-
安装mariaDB
安装命令
yum install -y mariadb-server
启动mariaDB服务
systemctl start mariadb.service
将mariadb服务添加至开机自启动
systemctl enable mariadb.service
接下来进行MariaDB的相关简单配置
mysql_secure_installation
首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):<–初次运行直接回车
设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
初始化MariaDB完成,接下来测试登录
mysql -uroot -ppassword
完成!
-
配置MariaDB的字符集
文件/etc/my.cnf
vi /etc/my.cnf
在[mysqld]标签下添加
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
文件/etc/my.cnf.d/client.cnf
vi /etc/my.cnf.d/client.cnf
在[client]中添加
default-character-set=utf8
文件/etc/my.cnf.d/mysql-clients.cnf
vi /etc/my.cnf.d/mysql-clients.cnf
在[mysql]中添加
default-character-set=utf8
全部配置完成,重启mariadb
systemctl restart mariadb
之后进入MariaDB查看字符集
显示为mysql> show variables like "%character%";show variables like "%collation%";
字符集配置完成。
-
添加用户,设置权限
创建用户命令
mysql>create user username@localhost identified by 'password';
直接创建用户并授权的命令
mysql>grant all on . to username@localhost indentified by 'password';
授予外网登陆权限
mysql>grant all privileges on . to username@'%' identified by 'password';
授予权限并且可以授权
mysql>grant all privileges on . to username@'hostname' identified by 'password' with grant option;
刷新权限
flush privileges;
简单的用户和权限配置基本就这样了。
其中只授予部分权限把 其中 all privileges或者all改为select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file其中一部分。
一旦安装完成,MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行:
sudo netstat -tap | grep mysql
如果服务器不能正常运行,您可以通过下列命令启动它:
sudo /etc/init.d/mysql restart
进入mysql
$mysql -uroot -p 管理员密码
配置 MySQL 的管理员密码:
sudo mysqladmin -u root password newpassword