Centos7搭建网站运行环境(jdk、tomcat、mysql、redis)
一、JDK安装配置(1.8版本)
-
在网上找寻jdk1.8版本的rpm文件,下载到本地
-
使用xftp工具将jdk的rpm文件上传到/usr/software目录中去
-
输入命令安装rpm文件
rpm -ivh jdk-8u181-linux-x64.rpm
-
安装后输入命令查看版本,确认是否安装成功
java -version javac -version
-
配置环境变量
vi /etc/profile
-
在profile文件末尾加上以下执行代码
JAVA_HOME(目的:找到jdk目录):(windows10系统中) (1)指定要配置的JDK所在目录(例如:C:\Program Files\Java\jdk1.7.0) (2)方便第三方软件需要JDK时通过JAVA_HOME环境变量找到安装目录(例如:eclipse等) (3)当需要更换JDK时只需要修改JAVA_HOME,因为其他两个环境变量引用JAVA_HOME的目录 classpath(目的找到.class编译文件):(windows10系统中) (1).;表示当前目录就是.class文件所在的目录 (2)也可以配置一些其他的jar目录(不是必须的具体看需求) path(在任意目录通过指令调用JDK中程序指令):(windows10系统中) (1)分别指定JDK、JRE的bin目录 (2)C:\Program Files\Java\jdk1.7.0\bin; 是等于 %JAVA_HOME%\bin; 的 (3)C:\Program Files\Java\jdk1.7.0\jre\bin; 是等于 %JAVA_HOME%\jre\bin; 的(这就是配置JAVA_HOME的好处,犹如一个变量)
(linux系统中) export JAVA_HOME=/usr/java/jdk-8u181-linux-x64 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar
-
执行刷新
source /etc/profile
-
JDK安装配置完成
二、tomcat安装配置(8.5版本)
2.1、下载安装
-
下载tomcat的.tar.gz文件包
-
解压文件
tar -zxvf apache-tomcat-8.5.32.tar.gz
-
拷贝到项目目录下
mv apache-tomcat-8.5.32 /usr/local/tomcat
-
此时tomcat文件已经存在了,如果jdk安装没问题,那么可以在bin目录下启动tomcat
启动(进入tomcat的bin文件夹下) ./startup.sh 关闭(进入tomcat的bin文件夹下) ./shutdown.sh
-
tomcat默认监听的是8080端口,登陆阿里云查看安全组配置情况,如果暂时未开放8080端口,在浏览器地址栏中输入ip加8080我们是无法访问到页面的,但是阿里云默认会开放80端口,我们可以更改tomcat的配置使其监听80端口。
2.2、配置
参考地址01-Tomcat中Connector常用配置(备忘)
-
配置优化tomcat( 提高JVM栈内存Increase JVM heap memory)
你使用过tomcat的话,简单的说就是“内存溢出”. 通常情况下,这种问题出现在实际的生产环境中.产生这种问题的原因是tomcat使用较少的内存给进程,通过配置TOmcat的配置文件(Windows 下的catalina.bat或Linux下的catalina.sh)可以解决这种问题.这种解决方法是通过增加JVM的栈内存实现的.也就是说,JVM通常不去调用垃圾回收器,所以服务器可以更多关注处理web请求,并要求尽快完成。要更改文件(catalina.sh) 位于"\tomcat server folder\bin\catalina.sh",下面,给出这个文件的配置信息。
-
切换到bin目录并且编辑启动文件
cd /usr/local/tomcat/bin vi catalina.sh
-
在文件开始的地方加入
JAVA_OPTS="-server -Xms1G -Xmx2G -Xss256K -Djava.awt.headless=true -Dfile.encoding=utf-8 -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m"
-
保存退出
-
-
更改默认监听端口为80
-
切换到conf目录并编辑server.xml文件
cd /usr/local/tomcat/conf vi server.xml
-
找到这块代码
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 1. port tomcat作为一个网络server端,它需要暴露一个socket端口来accept客户端的链接,可以通过port指定. 2. protocol 使用的网络协议,表示tomcat使用何种方式来接受和处理client端请求,"HTTP/1.1"是默认值,等效于"org.apache.coyote.http11.Http11Protocol";还有熟悉的"AJP/1.3";关于HTTP和AJP两种方式的区别和性能优劣可以参见其他文档。【文档】
-
将port值改为“80”,保存退出
-
重启tomcat
-
2.3、易产生问题
- 在关闭tomcat的时候报错
[root@TianYi bin]# ./shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk-8u181-linux-x64
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Sep 25, 2019 3:11:37 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Could not contact [localhost:[8005]]. Tomcat may not be running.
Sep 25, 2019 3:11:37 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:
java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:497)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:406)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)
解决方案:
jdk目录下的 jdk18/jre/lib/security/java.security文件
原:securerandom.source=file:/dev/random
改:securerandom.source=file:/dev/./urandom
重新 shutdown startup 即可完成
三、mysql安装配置(5.6版本)
参考地址01-Centos7下配置Java web环境(JDK、Tomcat、Mysql)
3.1、下载安装
-
使用xftp工具将mysql压缩包上传到/usr/software目录中
-
解压Mysql安装包
tar -zxvf MySQL-5.6.41-1.el7.x86_64.rpm-bundle.tar
-
卸载postfix和mariadb-libs
-
查看是否安装
rpm -qa | grep postfix rpm -qa | grep mariadb
-
强制卸载
rpm -e --nodeps 上面查到的postfix名称 rpm -e --nodeps 上面查到的mariadb名称
-
-
安装依赖
yum -y install libaio yum -y install net-tools yum -y install perl yum -y install autoconf
-
安装mysql
rpm -ivh MySQL-server-5.6.41-1.el7.x86_64.rpm rpm -ivh MySQL-devel-5.6.41-1.el7.x86_64.rpm rpm -ivh MySQL-client-5.6.41-1.el7.x86_64.rpm
-
初始化mysql
/usr/bin/mysql_install_db
-
启动mysql
service mysql start
如果启动失败,出现Can’t find **.frm错误,则切换到frm所在目录,然后修改权限
cd /var/lib/mysql/mysql chown mysql.mysql *
3.2、配置
-
设置(mysql)远程连接
mysql> use mysql; mysql> select host,user,password from user; mysql> update user set password=password('123456') where user='root'; mysql> update user set host='%' where user='root' and host='localhost'; mysql> flush privileges; mysql> exit
-
设置开机启动
chkconfig mysql on chkconfig --list | grep mysql
-
修改大小写敏感
mysql> use mysql; mysql> select host,user,password from user; mysql> update user set password=password('123456') where user='root'; mysql> update user set host='%' where user='root' and host='localhost'; mysql> flush privileges; mysql> exit 复制代码 10. 设置开机启动 chkconfig mysql on chkconfig --list | grep mysql 11. 修改大小写敏感 复制代码 第一步:编辑/etc/my.cnf文件,在[mysqld]节下 添加 lower_case_table_names=1 参数,并设置相应的值 (备注:为0时大小写敏感,为1时大小写不敏感,默认为0)。 (必须是在[mysqld]节点下添加,否则没有效果) 如果没有my.cnf文件,那么 cd /usr/share/mysql 拷贝 cp my-default.cnf /etc/my.cnf 增加以下参数 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES innodb_file_per_table max_connections = 4096 collation-server = utf8_general_ci lower_case_table_names=1 character-set-server = utf8 第二步:重启mysql # service mysql restart 第三步:查看mysql的参数 # mysql -uroot -p
3.3、易产生问题
-
mysql初始密码的修改
-
将my.cnf文件拷贝到/etc/文件夹下
cd /usr/share/mysql cp my-default.cnf /etc/my.cnf
-
编辑/etc/my.cnf文件,在【my.sqld】区域下加上下面圈中的代码
-
保存文件,退出之后重启mysql
service restart mysql
-
此时可以无密码进入mysql
-
更改mysql(按顺序执行)
use mysql; update user set password=password('123456') where user='root'; flush privileges; exit; 注释“skip-grant-tables” service restart mysql
-
可以以新密码登陆
-
四、redis安装配置(5.0.6版本)
4.1、安装过程
4.2、常用命令
-
关闭redis
service redisd stop
-
开启redis
service redisd start
-
查看版本
redis-server -v