Linux 下 Nginx + JDK + Tomcat + MySQL 安装指南
转载请注明出处:http://blog.csdn.net/smartbetter/article/details/52026342
Nginx 是一款高性能的 http 服务器/反向代理服务器/电子邮件代理服务器,还可以配置虚拟主机。官方测试 Nginx 能够支持 5 万的并发连接,并且 CPU、内存等资源消耗却非常低,运行非常稳定。Nginx主要优点有可以实现高并发、部署简单、内存消耗少、成本低等,主要缺点有rewrite功能不够强大,模块没有Apache的多。本篇主要讲解 Nginx + JDK + Tomcat + MySQL 的安装方法,注重实用性,文章每个部分之间没有太大关系,可根据需求分开学习。这里 Linux 选择CentOS 版本,通过 SSH 进行远程操作,本地环境如果是 Windows 则可以尝试安装 PuTTY 或 SecureCRT,如果是 Mac 则直接使用终端工具即可。
这里 Linux 选择 CentOS 7.2。
1.Linux下安装Nginx
# yum -y install vim* //安装vim编辑器
# yum -y install gcc gcc-c++ autoconf automake //gcc、gcc-c++库文件(-y:全部yes,autoconf:自动配置,automake:自动编译)
# yum -y install pcre pcre-devel //Nginx依赖包
# yum -y install zlib zlib-devel
# yum -y install openssl openssl-devel //openssl库
# wget -P /usr/local http://nginx.org/download/nginx-1.12.2.tar.gz
# cd /usr/local
# tar -zxvf nginx-1.12.2.tar.gz //解压缩
# cd nginx-1.12.2
# ./configure //配置
# make
# make install //安装
# cd /usr/local //如果存在nginx文件夹,则安装成功
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
Nginx的启动 (如果启动后访问失败,请关闭防火墙)、停止、重新加载配置文件命令:
# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf //启动
# ps -ef|grep nginx //查看Nginx的PID,启动后会有master和worker两个进程
# /usr/local/nginx/sbin/nginx -s stop //停止
# /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf //验证配置文件的正确性
# /usr/local/nginx/sbin/nginx -s reload //重新加载配置文件
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2.Linux下安装jdk
1.安装open jdk
# yum list installed | grep java //查看自带jdk是否已安装
# yum -y remove java-1.7.0-openjdk* //卸载系统自带mysql数据库,若有多个依赖文件则依次卸载
# yum -y remove tzdata-java.noarch
# yum -y list java* //查看yum库上的mysql版本信息
# yum -y install java-1.8.0-openjdk*
# java -version //安装成功,查看版本号
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2.安装oracle jdk
下载 oracle jdk http://www.oracle.com/technetwork/java/javase/downloads/index.html
然后上传 oracle jdk 安装包至服务器并安装 oracle jdk:
$ scp ~/Downloads/jdk-8u144-linux-x64.tar.gz root@192.168.2.21:/usr/local
$ ssh root@192.168.2.21 //SSH连接
# cd /usr/local
# tar -zxvf jdk-8u144-linux-x64.tar.gz //解压缩
# mv jdk1.8.0_144/ jdk //重命名
# vi /etc/profile //编辑
- 1
- 2
- 3
- 4
- 5
- 6
- 7
在最后面添加下面代码配置 java 的环境变量:
JAVA_HOME="/usr/local/jdk"
CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
PATH=".:$PATH:$JAVA_HOME/bin"
CATALINA_HOME="/usr/local/tomcat"
export JAVA_HOME CATALINA_HOME
- 1
- 2
- 3
- 4
- 5
# source /etc/profile //更新profile文件
# java -version //安装配置成功,查看版本号
- 1
- 2
- 3
3.Linux下安装Tomcat
# wget -P /usr/local http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.47/bin/apache-tomcat-8.0.47.tar.gz
# cd /usr/local
# tar -zxvf apache-tomcat-8.0.47.tar.gz //解压缩
# mv apache-tomcat-8.0.47/ tomcat //重命名为tomcat
- 1
- 2
- 3
- 4
- 5
Tomcat 默认部署项目的路径是 /usr/local/tomcat/webapps/
# /usr/local/tomcat/bin/startup.sh //启动Tomcat服务器
# /usr/local/tomcat/bin/shutdown.sh //停止Tomcat服务器
- 1
- 2
- 3
1.Tomcat爬过的坑
Tomcat 下允许访问软链接(symbol link)的设置,编辑 conf/context.xml,Context 节点下添加:
<!-- Tomcat设置支持软连接 -->
<Resources allowLinking="true"/>
- 1
- 2
CentOS 7 下 Tomcat 启动慢的原因及解决方案:
# yum -y install rng-tools //安装rngd服务(熵服务,增大熵池)
# systemctl start rngd //启动服务
# systemctl enable rngd //设置开机自启动
- 1
- 2
- 3
- 4
2.使用Maven在Tomcat下热部署
要实现热部署,自然就需要通过 Maven 操作 Tomcat,所以就需要 Maven 取得操作 Tomcat 的权限,在 Tomcat 的安装目录下,修改 conf/tomcat-users.xml 文件,在 < tomcat-users> 节点下增加如下配置:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/>
- 1
- 2
- 3
重启 Tomcat,使用 Maven 在 Tomcat 下热部署需要在 pom.xml 配置 Tomcat 插件:
<pluginRepositories>
<!-- 添加远程仓库节点 -->
<pluginRepository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
<build>
<!-- 添加tomcat插件 -->
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat8-maven-plugin</artifactId>
<version>3.0-r1756463</version>
<configuration>
<port>8080</port>
<path>/</path>
<!-- 系统热部署配置 -->
<url>http://192.168.2.21:8080/manager/text</url>
<username>tomcat</username>
<password>tomcat</password>
</configuration>
</plugin>
</plugins>
</build>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
初次部署可以使用 tomcat8:deploy 命令,如果已经部署过使用 tomcat8:redeploy 命令。
4.Linux下安装MySQL5.7
# yum list installed | grep mysql //查看自带mysql是否已安装
# yum -y remove mysql-libs.x86_64 //卸载系统自带mysql数据库,若有多个依赖文件则依次卸载
# wget -P /usr/local https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm
# rpm -ivh mysql57-community-release-el7-11.noarch.rpm //安装mysql源
# yum -y list mysql* //查看yum库上的mysql版本信息
# yum -y install mysql-server mysql mysql-devel //安装mysql
# service mysqld start //启动mysql
# systemctl status mysqld //查看mysql的启动状态
# systemctl enable mysqld //设置开机自启动
# systemctl daemon-reload
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
MySQL 安装完成之后,会在 /var/log/mysqld.log 文件中给 root 生成了一个默认密码。我们需要找到 root 默认密码,然后登录 mysql 进行修改:
# grep 'temporary password' /var/log/mysqld.log
[Note] A temporary password is generated for root@localhost: +i:q-r<::0gI
# mysql -u root -p //输入生成的默认密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password'; //修改root密码
- 1
- 2
- 3
- 4
- 5
- 6
MySQL5.7 默认安装了密码安全检查插件,默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; //添加mysql用户并授权远程登录
- 1
- 2
MySQL 默认配置文件路径分别如下:
配置文件:/etc/my.cnf
日志文件:/var/log/ 和 /var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
- 1
- 2
- 3
- 4
- 5
配置默认编码为 utf8:
# vim /etc/my.cnf //在[mysqld]下添加编码配置
- 1
- 2
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
- 1
- 2
- 3
# service mysqld restart //重启MySQL
- 1
- 2
找一台电脑测试一下,远程登录 MySQL,登进成功。