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,登进成功。
Linux 下 Nginx + JDK + Tomcat + MySQL 安装指南的更多相关文章
- LINUX学习-Nginx+JDK+Tomcat+Mysql搭建JAVA WEB
一.安装JDK环境 1.先到 https://www.oracle.com/java/technologies/javase-jdk8-downloads.html 下载linux jdk-8u2 ...
- linux下配置jdk,tomcat,mysql,redis,zookeeper
jdk: 解压: tar zxvf jdk-8u144-linux-x64.tar.gz 执行:vi /etc/profile export JAVA_HOME=/usr/local/jdk1.8.0 ...
- ubuntu下安装jdk,tomcat,mysql,ftp,telnet,svn
需求分析:自己弄了个小网站,想放到云服务器上,同时把自己积累的代码也放上去,服务器上的文件可以简单的在windows上查看,也可以方便的通过windows连接linux服务器. 解决:运行网站要用到j ...
- linux下安装jdk+tomcat+eclipse+mysql
我的环境:主机是win7的,虚拟机是VWare Workstation 6.0 ,linux系统为Red Hat Enterprise Linux 5 64位 各软件版本:jdk是jdk-6u ...
- linux(centos 7)下安装JDK,Tomcat,mysql 运行Maven 项目
一.在Linux中安装JDK 1. 将JDK上传到root下(任何位置均可以). 如图: 2. 用解压命令解压JDK tar -xvf (此处为jdk文件名) 如果是rpm包,执行rpm -i jdk ...
- LINUX上安装JDK+tomcat+mysql操作笔记
1.环境准备: 1-1.centos 64位(本人的虚拟机安装此系统),安装步骤和网络配置已经在前两篇记录. 1-2.JDK 版本1.8 1-3.tomcat压缩包 1-4.CRT远程连接工具(可用其 ...
- Linux安装部署jdk+tomcat+mysql
Linux安装部署测试环境 1. JDK安装下载 安装 yum search jdk 找到合适的jdk版本,以下图中的版本为例 yum install java-1.8.0-openjdk.x86_6 ...
- linux下部署jdk+Tomcat
部署jdk (如果是普通用户,先切换到管理员 su root) 1.下载jdk压缩包 2.用xftp将jdk压缩包传输 /opt 目录下 3.解压(在/opt 目录下对压缩包解压) tar -xzvf ...
- linux 下安装 jdk tomcat 并配置
linux下安装TOMCAT与JDK 第1步:新建boss用户,username:boss,password:boss 第2步:将安装用户路径设置成/app/boss [root@localhost] ...
随机推荐
- Ant编译android程序
http://blog.csdn.net/xyz_lmn/article/details/7268582 这一篇主要做了创建android项目.update已存在项目.ant编译项目. 一,准备ant ...
- 【Java】通用版URLConnection 带cookie下载PDF等资源文件
/**** * 下载pdf文件 */ public static void downloadNet(String urlStr, String fileName, String savePath) t ...
- Linux 常用命令随笔(一)
Linux 常用命令随笔(一) 1.检查linux服务器的文件系统的磁盘空间 df -h 说明: -h更具目前磁盘空间和使用情况 以更易读的方式显示 -H根上面的-h参数相同,不过在根式化的时候,采用 ...
- PHPUnit 在phpstrom中composer项目的应用配置
在phpstorm的composer搭建的项目调试时出现这种错误时:是其配置的错误 'Cannot create phar '/data/AppStorm/DesignPatternsPHP/vend ...
- STM32f103的数电采集电路的TIMER定时器的使用与时序控制的程序
STM32 的通用定时器是一个通过可编程预分频器(PSC)驱动的 16 位自动装载计数器(CNT)构成.STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较 ...
- Linxu
http://www.92csz.com/study/linux/ MySql 乱码 修改 /etc/my.cnf文件 character-set-server=utf8 , 表名不区分大小写:lo ...
- hbase源码系列(十四)Compact和Split
先上一张图讲一下Compaction和Split的关系,这样会比较直观一些. Compaction把多个MemStore flush出来的StoreFile合并成一个文件,而Split则是把过大的文件 ...
- WebRTC源码分析(一):安卓相机采集实现分析
WebRTC 的代码量不小,一次性看明白不太现实,在本系列中,我将试图搞清楚三个问题: 客户端之间如何建立连接? 客户端之间如何实现数据传输? 音视频数据的采集.预览.编码.传输.解码.渲染完整流程. ...
- Java BEAN与EJB的区别
Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean.但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以 ...
- 内存映射文件(Memory-Mapped File)
Java Memory-Mapped File所使用的内存分配在物理内存而不是JVM堆内存,且分配在OS内核. 1: 内存映射文件及其应用 - 实现一个简单的消息队列 / 计算机程序的思维逻辑 在一般 ...