CentOS7的yum源中默认是没有mysql的。为了解决这个问题,咱们要先下载mysql的repo源。javascript
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会得到两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。css
$ sudo yum install mysql-server
安装完成后是没有密码的,因此须要给root帐号设置下密码html
重置密码前,首先要登陆java
$ mysql -u root
登陆时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),缘由是/var/lib/mysql的访问权限问题。mysql
若是没有建立除root以外的用户,能够手动建立个用户linux
建立用户:web
$ useradd junko
$ passwd 你的用户密码
下面的命令把/var/lib/mysql的拥有者改成当前用户redis
$ sudo chown -R junko /var/lib/mysql
而后,重启服务:sql
$ service mysqld restart
或者数据库
$ systemctl restart mysqld
接下来登陆重置密码:
$ mysql -u root
mysql > use mysql; mysql > update user set password=password(‘你的密码‘) where user=‘root‘; mysql > exit;
一样,修改完密码后须要重启下mysql才能生效。
$ firewall-cmd --zone=public --add-port=3306/tcp --permanent $ firewall-cmd --reload
也能够直接禁用掉防火墙(我是这么作的)
$ systemctl stop firewalld.service #中止 $ systemctl disable firewalld.service #禁用
mysql安装后还要容许远程链接,其余服务器才能链接到本地的数据库。
mysql帐户是否不容许远程链接。若是没法链接能够尝试如下方法:
$ mysql -u root -p //登陆MySQL $ mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;//任何远程主机均可以访问数据库 $ mysql> FLUSH PRIVILEGES; //须要输入次命令使修改生效 $ mysql> EXIT //退出
也能够经过修改表来实现远程:
$ mysql -u root -p $ mysql> use mysql; $ mysql> update user set host = '%' where user = 'root'; $ mysql> select host, user from user;
必定要确保%这条记录存在!
$ vi /etc/my.cnf
清空内容,并把如下内容复制到文件中去
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names=1#linux下mysql数据库默认是大小写敏感的,1表明大小写不敏感,0表明敏感
bind-address=0.0.0.0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
保存修改,而后重启数据库,数据库到此就安装配置差很少了,不出意外,你如今能够远程连接数据库了。
查看yum库是否有java安装包
$ yum -y list java*
能够看到最新的jdk:java-1.8.0-openjdk.x86_64
而后执行安装命令:
$ yum -y install java-1.8.0-openjdk.x86_64
等待安装,完成后执行:
$ java -version
能够看到如下输出
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
jdk默认是安装到了/usr/lib/jvm目录下,cd到这个目录,能够看到刚刚安装的jdk:
java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64
$ cd /usr/local
建立文件夹:tools,用来存放tomcat的文件包
$ mkdir tools
进入tools目录
输入命令:
$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.0.M11/bin/apache-tomcat-9.0.0.M11.tar.gz
下载完后,解压:
$ tar zxf apache-tomcat-9.0.0.M11.tar.gz $ cd apache-tomcat-9.0.0.M11
在/usr/local文件夹下建立tomcat文件夹:
$ mkdir /usr/local/tomcat
而后把apache-tomcat-9.0.0.M11下的文件拷贝到新建的tomcat文件夹下:
$ mv ./* /usr/local/tomcat
(注意空格,./*表明当前文件夹下的全部文件)
tomcat优化配置,进入tomcat下conf文件夹:
$ vi server.xml
修改
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
这段配置为如下内容:
<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="600" minSpareThreads="100" maxSpareThreads="500" acceptCount="700" useBodyEncodingForURI="true" enableLookups="false" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
修改context.xml,
$ vi context.xml
在<Context>标签中加入
<Resources cachingAllowed="true" cacheMaxSize="100000" />
注意不要随便换行,不然运行时会报错
配置jdk、tomcat环境变量:
$ vi /etc/profile
在文件末尾添加如下内容:
CATALINA_HOME=/usr/local/tomcat
CATALINA_BASE=/usr/local/tomcat
PATH=$PATH:$CATALINA_BASE/bin
export PATH CATALINA_BASE
#set java environment
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
$ wget http://download.redis.io/releases/redis-3.2.5.tar.gz $ tar xzf redis-3.2.5.tar.gz $ cd redis-3.2.5 $ make
执行make命令时,若是报错:“make:cc 命令未找到”,解决方法以下:
缘由:未安装gcc
解决方法:安装gcc
$ yum -y install gcc automake autoconf libtool make
执行make test命令时,若是报错:“You need tcl 8.5 or newer in order to run the Redis test ”,解决办法以下:
缘由:未安装tcl
解决方法:安装tcl
获取:
$ wget http://downloads.sourceforge.net/tcl/tcl8.6.0-src.tar.gz
解压:
$ tar zxf tcl8.6.0-src.tar.gz
进入目录并执行命令:(注意这是两条命令,请分开执行)
$ cd tcl8.6.0/ cd unix && ./configure --prefix=/usr \ --mandir=/usr/share/man \ --without-tzdata \ $([ $(uname -m) = x86_64 ] && echo --enable-64bit) && make && sed -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" \ -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \ -i tclConfig.sh $ make install && make install-private-headers && ln -v -sf tclsh8.6 /usr/bin/tclsh && chmod -v 755 /usr/lib/libtcl8.6.so
等待命令执行完毕后,再回到redis安装文件夹下执行make test命令便可
注意:make命令执行完成编译后,会在src目录下生成6个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-dump、redis-sentinel。
在redis文件夹下执行
$ make install
会将make编译生成的可执行文件拷贝到/usr/local/bin目录下;
执行
$ ./utils/install_server.sh
一路回车,直到出现Installation successful!以后redis服务会跟随系统启动而启动。
$ ps -ef|grep redis
$ service redis_6379 start
$ service redis_6379 stop
$ redis-cli
至此,centos的javaweb项目的基本运行环境已搭建完毕,文中只涉及到我实际配置过程遇到的问题以及解决方案,其余更加详细的教程就不在此详细描述,若有问题,请多指教。