Linux 安装配置JDK 、 MySQL 、nginx

Stella981
• 阅读 801

     今天我来讲一下在Linux下各环境的搭建,主要就讲一下jdk、MySQL、和一个代理服务器nginx

1、 jdk的安装配置

1)卸载自带openjdk

      当我们拿到一个全新的ECS的时候上面有的会自带一个openjdk,但是我们一般不会用这个,所以在这里我们会先卸载这个自带的jdk

       1: 查看是否自带openjdk ,用命令    java –version

                   java version "1.6.0"
                   OpenJDK  Runtime Environment (build 1.6.0-b09)
                   OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)

       2: 卸载jdk,我们通过java –version 看到安装的是jdk1.6那么接下在我们直接用yum命令卸载,简单粗暴

                 yum -y remove java-1.6.0-openjdk*

          然后会看到最后卸载成功,注意,我们查到安装的那个版本就卸载那个版本

2)安装jdk (tar包)

       这里演示的是tar包的方式安装,这种方式我个人比较喜欢,安装位置比较容易查看,后面配置什么的都在自己的把控范围内

       1:下载jdk

           jdk官网:https://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html

        然后找到下载的链接复制一下然后我们去服务器上去下载,这样比较快捷方便,直接用wget命令下载就行,但是这里需要注意的就是wget命令下载的时候前面需要加上cookie,不然是下载之后发现只有几K,明显是不对的,这里我以下载jdk1.8为例来演示

wget https://download.oracle.com/otn/java/jdk/8u212-b10/59066701cf1a433da9770636fbc4c9aa/jdk-8u212-linux-x64.tar.gz?AuthParam=1559100781\_87f01d5c6700235a97ff6178d5a1ea52

等全部下载下来之后可以查看一下大小,是的没毛病,跟官网上的大小一样

  上面这种下载方式已经不能用了,

本地下载的时候,

新方法:

一):先下载到本地,再上传到服务器(不推荐,下载到本地和上传到服务器速度都慢)

二):在本地获取下载地址,在服务器上通过wget来下载,基本上三到五秒就搞定了(极力推荐)

1):用orcale账号登录jdk官网

2):打开控制台,查看Network

3)  :根据你对应的系统,下载对应的包,在点击下载之前清空控制台所有的请求信息,然后再点击下载

Linux 安装配置JDK 、 MySQL 、nginx

      4):最后最后一个200的请求https://download.oracle.com/otn/java/jdk/8u212-b10/59066701cf1a433da9770636fbc4c9aa/jdk-8u212-linux-x64.tar.gz?AuthParam=1559103038\_608c18aa3fe2607bb7cf1bd2c67779d0

         这里其实请求都是一样的,只是每次后面的AuthParam参数不同,不必深究

      5)在你的服务器上直接用wget命令 加上这个地址几秒就下载好了,下载好之后会发现不是正常的压缩文件,没事我们还是一样用

        tar -zxf <下载好的包名>    解压出来就行了

      2: 解压下载下来的tar包

        jdk tar -zxf jdk-8u181-linux-x64.tar.gz

      3:配置环境变量

            编辑/etc/profile 配置文件文件(如果是首次配置可以把这个文件备份一下,如果真出现问题是在没办法的情况下直接把原来的配置文件弄回来用,自己曾经确实弄错过,把系统环境变量PATH不小心删了导致所有命令都不能用了),言归正传

           编辑profile文件,使用 vi /etc/profile 加上这三句话就行了

Linux 安装配置JDK 、 MySQL 、nginx

这里是需要添加的环境变量,根据你jdk位置和目录名自行调整

  1 export JAVA_HOME=/usr/local/jdk1.8.0_181
  2 export PATH=$JAVA_HOME/bin:$PATH
  3 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

然后使配置生效 source /etc/profile

     4:验证 java -version

Linux 安装配置JDK 、 MySQL 、nginx

        配置完成

2、安装MySQL5.7

      mysql官网:https://www.mysql.com/

1)安装前先确定是否安装了MySQL服务  rpm -qa | grep mysql

             如果已经安装就直接全部删除yum -y remove mysql-libs.x86_64

     2) 因为默认的源中没有mysql5.7 所以需要我们自己下

             wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

     3) 安装

                rpm -ivh mysql57-community-release-el7-8.noarch.rpm

                yum install mysql-server

               然后一路 Y 下去

             至此,我们的MySQL已经安装好了,但是我们还需要启动,还需要密码登陆

     4)启动mysql并获取默认密码

             启动mysql:service mysqld start

     启动之后会在/var/log/mysqld.log的日志中生成一个默认密码,我们找到它

然后用这个密码登陆我们的数据库,登陆成功之后发现什么操作都没法做,让我们先修改密码,因为5.7采用了密码强度验证插件,所以密码一定要足够繁琐,否则是会设置失败的(当然也可以修改配置去降低密码强度,但是不推荐这种做法)

5)修改密码

             SET PASSWORD = PASSWORD('你设置的密码');

                ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

                flush privileges;

      6)但是一般情况下我们会通过外网工具连接数据库做操作,需要设置允许访问MySQL的地址

               //这里的密码可以是新密码也可以是你之前设置的密码

                grant all privileges on *.* to root@"%" identified by "密码";

      7)至此,mysql安装完毕

3、安装Nginx

在线安装:

由于在安装nginx的过程中需要g++、gcc、openssl-devel、pcre-devel和zlib-devel的依赖库

所以先安装所需要的依赖库

1)     yum install gcc-c++ 

       yum install pcre pcre-devel 

       yum install zlib zlib-devel 

       yum install openssl openssl--devel 

2) 下载nginx

          Wget http://nginx.org/download/nginx-1.15.5.tar.gz

3) 解压缩 tar –zxf nginx-1.15.5.tar.gz

          产生一个nginx-1.15.5 目录,进入nginx-1.15.5目录

4)安装

   编译:  ./configure  #默认安装目录是/usr/local  如果要指定安装目录在后面加上 --prefix=/usr/local/nginx      安装   make

  make install

5) 在/usr/local目录下会产生一个nginx目录

  这个目录就是我们安装的目录,启动文件是sbin/nginx

6) 我们的第一步就是为安装的时候提供的一个编译环境,而我们nginx的运行是不用依赖步骤一的库,如果有一天你有一台无法连接外网的服务器需要你安装nginx,而又恰好上面又没有nginx需要的编译环境,这个时候我们第一想法就是按上编译环境就好了,但是由于其中的某些依赖库在离线状态下特别难搞定(有集成好的一体包的除外),这种情况下我们可以选择跳过编译过程,在另一台可联网设备上把编译好的nginx包打包放到无外网的服务器上(切记nginx目录在两台服务器的位置一定要一模一样,否则会找不到目录)

7)给出一些编译选项,可供选择,一般用不到

  --prefix=path           定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录。默认使用 /usr/local/;  --with-pcre=/pcre-8.37      设置PCRE库的源码路径。PCRE库的源码需要从PCRE网站下载并解压。  --with-zlib=/zlib-1.2.8    设置的zlib库的源码路径。要下载从 zlib并解压。  --with-openssl=/openssl-1.0.1t


  --without-http_gzip_module    不编译压缩的HTTP服务器的响应模块。编译并运行此模块需要zlib;
  --without-http_rewrite_module  不编译重写模块。编译并运行此模块需要PCRE库支持;
  --without-http_proxy_module   不编译http_proxy模;
  --with-http_ssl_module      使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的OpenSSL库是必需的;

  8) 贴上三个链接,避免以后再找

pcre:http://ftp.pcre.org/pub/pcre

http://ftp.pcre.org/pub/pcre/pcre-8.37.tar.gz

 

zlib:http://www.zlib.net/fossils/

http://www.zlib.net/fossils/zlib-1.2.8.tar.gzopenssl:https://ftp.openssl.org/source

http://distfiles.macports.org/openssl/openssl-1.0.1k.tar.gz

好了,jdk、MySQL、nginx的安装已经全部完成了,(哪位大神那如果有nginx编译所需环境的依赖的一体包的话请给一份呗,小弟感激不尽

Linux 安装配置JDK 、 MySQL 、nginx

)
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这