转载请注明出处: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 安装指南的更多相关文章

  1. LINUX学习-Nginx+JDK+Tomcat+Mysql搭建JAVA WEB

    一.安装JDK环境 1.先到  https://www.oracle.com/java/technologies/javase-jdk8-downloads.html  下载linux jdk-8u2 ...

  2. 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 ...

  3. ubuntu下安装jdk,tomcat,mysql,ftp,telnet,svn

    需求分析:自己弄了个小网站,想放到云服务器上,同时把自己积累的代码也放上去,服务器上的文件可以简单的在windows上查看,也可以方便的通过windows连接linux服务器. 解决:运行网站要用到j ...

  4. linux下安装jdk+tomcat+eclipse+mysql

    我的环境:主机是win7的,虚拟机是VWare  Workstation 6.0   ,linux系统为Red Hat Enterprise  Linux 5 64位 各软件版本:jdk是jdk-6u ...

  5. linux(centos 7)下安装JDK,Tomcat,mysql 运行Maven 项目

    一.在Linux中安装JDK 1. 将JDK上传到root下(任何位置均可以). 如图: 2. 用解压命令解压JDK tar -xvf (此处为jdk文件名) 如果是rpm包,执行rpm -i jdk ...

  6. LINUX上安装JDK+tomcat+mysql操作笔记

    1.环境准备: 1-1.centos 64位(本人的虚拟机安装此系统),安装步骤和网络配置已经在前两篇记录. 1-2.JDK 版本1.8 1-3.tomcat压缩包 1-4.CRT远程连接工具(可用其 ...

  7. Linux安装部署jdk+tomcat+mysql

    Linux安装部署测试环境 1. JDK安装下载 安装 yum search jdk 找到合适的jdk版本,以下图中的版本为例 yum install java-1.8.0-openjdk.x86_6 ...

  8. linux下部署jdk+Tomcat

    部署jdk (如果是普通用户,先切换到管理员 su root) 1.下载jdk压缩包 2.用xftp将jdk压缩包传输 /opt 目录下 3.解压(在/opt 目录下对压缩包解压) tar -xzvf ...

  9. linux 下安装 jdk tomcat 并配置

    linux下安装TOMCAT与JDK 第1步:新建boss用户,username:boss,password:boss 第2步:将安装用户路径设置成/app/boss [root@localhost] ...

随机推荐

  1. Ant编译android程序

    http://blog.csdn.net/xyz_lmn/article/details/7268582 这一篇主要做了创建android项目.update已存在项目.ant编译项目. 一,准备ant ...

  2. 【Java】通用版URLConnection 带cookie下载PDF等资源文件

    /**** * 下载pdf文件 */ public static void downloadNet(String urlStr, String fileName, String savePath) t ...

  3. Linux 常用命令随笔(一)

    Linux 常用命令随笔(一) 1.检查linux服务器的文件系统的磁盘空间 df -h 说明: -h更具目前磁盘空间和使用情况 以更易读的方式显示 -H根上面的-h参数相同,不过在根式化的时候,采用 ...

  4. PHPUnit 在phpstrom中composer项目的应用配置

    在phpstorm的composer搭建的项目调试时出现这种错误时:是其配置的错误 'Cannot create phar '/data/AppStorm/DesignPatternsPHP/vend ...

  5. STM32f103的数电采集电路的TIMER定时器的使用与时序控制的程序

    STM32 的通用定时器是一个通过可编程预分频器(PSC)驱动的 16 位自动装载计数器(CNT)构成.STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较 ...

  6. Linxu

    http://www.92csz.com/study/linux/ MySql 乱码  修改 /etc/my.cnf文件 character-set-server=utf8 , 表名不区分大小写:lo ...

  7. hbase源码系列(十四)Compact和Split

    先上一张图讲一下Compaction和Split的关系,这样会比较直观一些. Compaction把多个MemStore flush出来的StoreFile合并成一个文件,而Split则是把过大的文件 ...

  8. WebRTC源码分析(一):安卓相机采集实现分析

    WebRTC 的代码量不小,一次性看明白不太现实,在本系列中,我将试图搞清楚三个问题: 客户端之间如何建立连接? 客户端之间如何实现数据传输? 音视频数据的采集.预览.编码.传输.解码.渲染完整流程. ...

  9. Java BEAN与EJB的区别

    Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean.但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以 ...

  10. 内存映射文件(Memory-Mapped File)

    Java Memory-Mapped File所使用的内存分配在物理内存而不是JVM堆内存,且分配在OS内核. 1: 内存映射文件及其应用 - 实现一个简单的消息队列 / 计算机程序的思维逻辑 在一般 ...