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項目的基本運行環境已搭建完畢,文中只涉及到我實際配置過程遇到的問題以及解決方案,其餘更加詳細的教程就不在此詳細描述,若有問題,請多指教。