基于CentOS 7 web服务环境搭建(包含JDK+Nginx+Tomcat+Mysql+Redis)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lupengfei1009/article/details/77969514

前言

本文是基于京东云CentOS 7环境下搭建的,腾讯云、阿里云基本都大同小异,无很大的区别。

安装和配置防火墙

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

  1. 关闭firewall
    systemctl stop firewalld.service
    systemctl disable firewalld.service
    systemctl mask firewalld.service
  2. 安装iptables防火墙
    • 查看iptables相关的安装包
      yum list iptables*
    • 安装
      yum install -y iptables-services
  3. 编辑防火墙,增加端口
    • 在-A FORWARD上面编辑防火墙配置文件
      vi /etc/sysconfig/iptables
      -A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT
      -A INPUT -p tcp -m state –state NEW -m tcp –dport 80 -j ACCEPT
      -A INPUT -p tcp -m state –state NEW -m tcp –dport 8080 -j ACCEPT
      -A INPUT -p tcp -m state –state NEW -m tcp –dport 3306 -j ACCEPT
    • 保存退出
      :wq!
      如果需要开通更多的端口,按上面的方式添加配置即可
  4. 重启配置,重启服务
    • 开启防火墙
      systemctl start iptables.service
    • 重启防火墙使配置生效
      systemctl restart iptables.service
    • 查看防火墙是否生效
      systemctl status iptables.service
    • 设置防火墙开机启动
      systemctl enable iptables.service
    • 查看当前系统下的端口使用情况
      netstat -tunlp
    • 云服务安全组
      通过以上方式设置了防火墙之后,如果使用到的云服务器(如腾讯云、阿里云、京东云),需要在其管理平台中设置安全组;然后配置开通相应的端口才能正常开通对应的端口;目前发现京东云的安全组貌似没有什么用,不设置依然可以访问,不知道是否是我的设置问题;但是腾讯云如果不正常设置,端口将无法正常使用


安装telnet服务,语言包

  • 查看xinetd相关的安装包,xinetd先安装
    yum list xinetd*
  • 安装xinetd服务
    yum install -y xinetd
  • 查看telnet相关的安装包
    yum list telnet*
  • 安装telnet服务端
    yum install -y telnet-server
  • 安装telnet客户端
    yum install -y telnet
  • 添加语言包
    vim /etc/sysconfig/i18n
    进入之后添加一下内容(默认已经有以下内容了):

    LANG=zh_CN.UTF-8
    LC_ALL=zh_CN.UTF-8


安装JDK

不能以yum的方式安装,因为有时候会缺少jar包,导致tomcat启动不成功。
下载jdk-7u67-linux-x64.tar.gz
通过FTP工具,将压缩包上传至服务器的/usr/local/src目录下

  • 进入压缩包目录
    cd /usr/local/src
  • 解压文件
    tar -xf jdk-7u67-linux-x64.tar.gz
  • 设置权限
    chown -R root:root ./
  • 移动文件至/usr/local/(可根据自己的需求移动到响应的目录即可,该操作非必要操作)
    mv jdk1.7.0_67 /usr/local/
    该操作将文件移动至/usr/local/,并将文件夹名称更换为jdk1.7.0_67
  • 添加环境变量
    • 进入配置文件
      vi /etc/profile
    • 在文件末尾添加以下配置:

      export JAVA_HOME=/usr/local/jdk1.7.0_67
      export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export PATH=$PATH:$JAVA_HOME/bin

      注:以上配置中的JAVA_HMOE为解压后的路径,如果移动过,就填写移动后的路径
  • 环境变量生效
    source /etc/profile


安装Nginx

方法一:通过自行下载依赖库安装(测试成功)

  • 资源下载

  • 解压资源
    cd /usr/local/src/
    tar -xf zlib-1.2.11.tar.gz
    tar -xf openssl-1.1.0f.tar.gz
    tar -xf pcre-8.40.tar.gz
    tar -xf nginx-1.12.1.tar.gz

  • 设置权限
    chown -R root:root ./

  • 编译安装

    • 安装zlib
      cd /usr/local/src/zlib-1.2.11/
      ./configure
      make && make install
    • 安装openssl(用于配置ssl证书,本人在测试的时候,这一步无法正常安装,使用yun的方式安装的,详细操作请参考方法二)
      cd /usr/local/src/openssl-1.1.0f/
      ./config
      make && make install
    • 安装pcre
      cd /usr/local/src/pcre-8.40/
      ./configure
      make && make install
    • 安装nginx
      cd /usr/local/src/nginx-1.12.1/
      ./configure –prefix=/usr/local/nginx –with-http_ssl_module –with-http_stub_status_module –with-pcre=/usr/local/src/pcre-8.40 –with-zlib=/usr/local/src/zlib-1.2.11 –with-openssl=/usr/local/src/openssl-1.1.0f
      make && make install
      注:以上为自行通过安装包安装,在安装nginx的时候务必要注意安装的对应路径

方法二:通过系统自带安装包安装

  • 查看gcc相关的安装包
    yum list gcc*
  • 安装依赖包
    yum install -y gcc-c++
    yum install -y openssl openssl-devel
    yum install -y zlib zlib-devel
    yum install -y pcre pcre-devel

  • 下载nginx
    cd /usr/local/src/
    wget http://nginx.org/download/nginx-1.12.1.tar.gz
    可以戳此下载,再通过FTP的形式上传至/usr/local/src/目录下

  • 安装nginx
    cd /usr/local/src/
    tar -xf nginx-1.12.1.tar.gz
    cd /nginx-1.12.1
    ./configure –prefix=/usr/local/nginx –with-http_ssl_module –with-http_stub_status_module
    make && make install

以下操作是基于方法一和方法二安装之后的公共操作

  • 修改配置文件
    cd /usr/local/nginx/
    • 查看版本
      sbin/nginx -v
    • 检查正确性
      /sbin/nginx -t
    • 修改/conf/nginx.conf文件,打开pid和error_log的注释,设置worker_processes(一般这个参数要和操作系统的CPU内核数成倍数),user 默认的nobody根据情况修改。
    • 创建nginx运行使用的用户 www :/usr/sbin/groupadd www和/usr/sbin/useradd -g www www
    • 建立映射
      ln -s sbin/nginx /usr/bin
  • 基础命令
    cd /usr/local/nginx/

    • 启动
      sbin/nginx
    • 停止
      sbin/nginx-s stop
    • 重启
      sbin/nginx-s reopen
    • 修改nginx.conf后重新加载配置
      sbin/nginx-s reload
  • 配置开启自启动

    • 添加配置
      vi /etc/init.d/nginx
      在文件中添加以下代码并保存

          #!/bin/bash
          #
          # chkconfig: - 85 15
          # description: Nginx is a World Wide Web server.
          # processname: nginx
      
          nginx=/usr/local/nginx/sbin/nginx
          conf=/usr/local/nginx/conf/nginx.conf
          case $1 in
          start)
          echo -n "Starting Nginx"
          $nginx
          echo " done"
          ;;
          stop)
          echo -n "Stopping Nginx"
          $nginx -s stop
          echo " done"
          ;;
          test)
          $nginx -t -c $conf
          ;;
          reload)
          echo -n "Reloading Nginx"
          $nginx -s reload
          echo " done"
          ;;
          restart)
          sh $0 stop
          sh $0 start
          ;;
          show)
          ps -aux|grep nginx
          ;;
          *)
          echo -n "Usage: $0 {start|restart|reload|stop|test|show}"
          ;;
          esac
    • 测试脚本是否可用
      cd /etc/init.d
      sh nginx start
      出现下图,说明脚本无问题
    • 更改配置文件nginx的权限
      chmod 755 /etc/init.d/nginx
    • 设置开机自启动
      chkconfig nginx on


Tomcat安装(包含多个tomcat的配置说明)

  • 下载安装包
    apache-tomcat-7.0.57.tar.gz
    下载完成之后通过FTP工具上传至/usr/local/src
  • 解压并安装
    如果需要安装多个tomcat,按如下操作,为了便于区分,我们将文件夹带上端口号
    • 第一个tomcat,端口定为8080
      tar -xf apache-tomcat-7.0.57.tar.gz
      mv apache-tomcat-7.0.57 /usr/local/tomcat/apache-tomcat-7.0.57_8080
    • 第二个tomcat,端口定为8086
      tar -xf apache-tomcat-7.0.57.tar.gz
      mv apache-tomcat-7.0.57 /usr/local/tomcat/apache-tomcat-7.0.57_8086
      ……..
      注:更多个以此类推
  • 修改各个tomcat下server.xml中的端口
    cd /usr/local/tomcat
    vim apache-tomcat-7.0.57_8080/conf/server.xml
    vim apache-tomcat-7.0.57_8086/conf/server.xml
    将各个server.xml选的端口修改为各自的端口
    注:更多个以此类推配置

  • 编辑系统环境变量
    vi /etc/profile

    • 添加8080端口的配置

          export CATALINA_BASE_8080=/usr/local/tkb/apache-tomcat-7.0.57_8080
          export CATALINA_HOME_8080=/usr/local/tkb/apache-tomcat-7.0.57_8080
          export TOMCAT_HOME_8080=/usr/local/tkb/apache-tomcat-7.0.57_8080
    • 添加8086端口的配置

          export CATALINA_BASE_8086=/usr/local/tkb/apache-tomcat-7.0.57_8086
          export CATALINA_HOME_8086=/usr/local/tkb/apache-tomcat-7.0.57_8086
          export TOMCAT_HOME_8086=/usr/local/tkb/apache-tomcat-7.0.57_8086

      …….
      注:多个以此类推配置

    • 重新加载生效配置
      source /etc/profile
  • 编辑catalina.sh 文件
    编辑catalina.sh 文件,关联环境变量
    cd /usr/local/tomcat

    • 配置8080端口的tomcat
      vim apache-tomcat-7.0.57_8080/bin/catalina.sh
      在 # OS specific support. $var must be set to either true or false.下面增加如下代码

          export CATALINA_BASE=$CATALINA_BASE_8080
          export CATALINA_HOME=$CATALINA_HOME_8080
    • 配置8086端口的tomcat
      vim apache-tomcat-7.0.57_8086/bin/catalina.sh
      在 # OS specific support. $var must be set to either true or false.下面增加如下代码

          export CATALINA_BASE=$CATALINA_BASE_8086
          export CATALINA_HOME=$CATALINA_HOME_8086

      …….
      注:多个以此类推配置

  • 启动tomcat

    • 启动8080端口tomcat
      cd /usr/local/tomcat/apache-tomcat-7.0.57_8080/bin
      sh startup.sh
    • 启动8086端口tomcat
      cd /usr/local/tomcat/apache-tomcat-7.0.57_8086/bin
      sh startup.sh
      ……
      注:多个以此类推启动


MySQL安装

如果需要下载MySQL或者防止有参与文件,印象后续的操作,可参考以下博客:http://blog.csdn.net/typa01_kk/article/details/49057073

  • 软件资源及安装前准备
    • MySQL资源下载
      官网下载
      云盘下载mysql_5.6.36版本
      下载成功之后通过FTP将资源上传至/usr/local/src目录下
    • 解压资源
      cd /usr/local/src
      tar -xf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
      mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
      cd /usr/local/mysql
    • 添加系统mysql组和mysql用户
      groupadd mysql
      useradd -r -g mysql mysql
    • 修改当前目录拥有者为mysql用户
      cd /usr/local/mysql
      chown -R mysql:mysql ./
  • 安装数据库
    cd /usr/local/mysql
    ./scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data –pid-file=/usr/local/mysql/data/mysql.pid

    • 错误1
      • 错误描述
        如果报错FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
        Data::Dumper
      • 解决方案,执行以下指令
        yum install -y autoconf
    • 错误2

      • 错误描述
        如果报错error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
      • 解决方案,执行以下指令,安装依赖包
        yum install libaio*

      解决完错误,再执行安装指令,安装成功。

  • 修改目录权限
    • 修改目录拥有者为root用户
      cd /usr/local/mysql
      chown -R root:root ./
    • 修改当前data目录拥有者为mysql用户
      cd /usr/local/mysql/data
      chown -R mysql:mysql data
  • 创建日志文件夹、日志文件、socket通讯文件夹

    • log日志
      日志文件:mysql的运行时日志记录的地方,可以通过错误信息方便快速找到问题点
      cd /usr/local/mysql
      mkdir log
      chown -R mysql:mysql log
      cd log
      touch mysql.log
    • 通讯文件
      Mysql客户端和服务器端在本机的通信方式,该文件所在目录必须双方都有权限可以访问到,而且服务器在启动时需要写该文件,所以需要授权mysql,文件mysql.sock再启动mysql服务的时候生成
      cd /usr/local/mysql
      mkdir socket/
      chown -R mysql:mysql socket
  • 配置文件修改

    • my.cnf配置
      vi /usr/local/mysql/my.cnf
      修改配置以下内容

          #对应安装数据库时的路径
          #修改
          datadir = /usr/local/mysql/data
          #修改
          basedir = /usr/local/mysql/
          #修改
          socket = /usr/local/mysql/socket/mysql.sock 
          port = 3306
          server_id = mysql
          #编码格式
          character-set-server=utf8
          #查询表名不区分大小写
          lower_case_table_names=1
          # 启用主从复制
          log-bin=mysql-bin
          #启动函数
          log-bin-trust-function-creators=1
          event_scheduler=ON
          skip-name-resolve
          sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
          symbolic-links=0
    • 配置mysql.server
      vi /usr/local/mysql/support-files/mysql.server

          #对应安装数据库时的路径
          #修改
          datadir = /usr/local/mysql/data
          #修改
          basedir = /usr/local/mysql/
          #修改
          mysqld_pid_file_path =/usr/local/mysql/data/mysql.pid
    • 配置mysqld_safe
      vi /usr/local/mysql/bin/mysqld_safe

          #对应安装数据库时的路径
          #修改
          pid_file=/usr/local/mysql-5.6.36/data/mysql.pid
          #修改
          err_log=/usr/local/mysql-5.6.36/log/mysql.log
  • 建立映射关系
    cp /usr/local/mysql-5.6.36/my.cnf /etc/
    cp /usr/local/mysql-5.6.36/support-files/mysql.server /etc/init.d/mysql
    注:准确的位置是/etc/rc.d/init.d/mysql,由于这里这里有一个/etc/init.d到/etc/rc.d/init.d的映射

  • 赋予可执行权限
    chmod +x /etc/init.d/mysql
  • 添加服务
    chkconfig –add mysql
  • 显示服务列表(2,3,4,5是on表示ok)
    chkconfig –list

  • 启动服务
    service mysql start
    注:这时会生成mysql.sock文件

  • 建立映射

    • 映射mysql命令,用户登陆mysql数据库
      ln -s /usr/local/mysql/bin/mysql /usr/bin
    • 映射sock文件
      ln -s /usr/local/mysql/socket/mysql.sock /tmp/mysql.sock
  • 初始化用户及添加基础信息

    • 登录root账户
      mysql -u root -p
      注:这条命令需要输入密码,第一次进入默认root密码为空,直接回车即可,修改之后即用新的密码登录即可
    • 修改root密码
      set password=password(‘root’);
    • 创建用户
      create user ‘lupf’@’%’ identified by ‘123456789’;
      注:’localhost’ 本地登陆,’%’为不限制登录IP
    • 创建数据库并授权
      create database testdb default charset utf8 collate utf8_general_ci;
      grant all privileges on testdb.* to ‘lupf’@’%’ identified by ‘123456789’;
    • 刷新权限
      flush privileges;
    • 查看当前的所有数据库用户
      select host,user,password from mysql.user;
    • 查看当前所有的数据库
      show databases;
  • 可视化工具
    window下载Navicat可视化工具,根据上面的,其中包含了破解工具,直接运行破解工具即可完成破解



Redis安装

  • 资源下载
    cd /usr/local/src
    wget http://download.redis.io/releases/redis-4.0.1.tar.gz
    或者戳次下载4.0.1版本,通过ftp的方式上传至/usr/local/src
  • 解压并安装
    tar -xzf redis-4.0.1.tar.gz
    mv redis-4.0.1 /usr/local/
    cd /usr/local/redis-4.0.1
    make && make install
  • 修改配置文件

    • 编辑redis_init_script

          #!/bin/sh
          # chkconfig: 2345 80 90
          # description: redis Start and Stop
          # 解释下面各行的意思
          REDISPORT=6379  #端口
          EXEC=/usr/local/bin/redis-server  #服务端路径
          CLIEXEC=/usr/local/bin/redis-cli  #客户端路径
          PIDFILE=/var/run/redis_${REDISPORT}.pid  #在启动的时候,redis.conf配了生成路径
          CONF="/etc/redis/${REDISPORT}.conf" #就是redis.conf,但是需要修改文件名
    • 复制服务端和客户端到上面的路径下
      cp src/redis-server /usr/local/bin
      cp src/redis-cli /usr/local/bin
      注:安装完之后,上面对应的文件夹下会包含相应的客户端、服务端的信息,如果没有的话,按以上的指令拷贝到响应的位置。
    • 建立快捷命令
      cp /usr/local/redis-4.0.1/utils/redis_init_script /etc/init.d/redis
    • 设置权限
      chmod +x /etc/init.d/redis
  • 编辑redis.conf

    • 创建log日志文件夹及数据持久化文件夹
      mkdir /usr/local/redis-4.0.1/logs
      mkdir /usr/local/redis-4.0.1/data/redisData
    • 修改日志
      vim /usr/local/redis-4.0.1/redis.conf
      修改以下对应的信息

          daemonize yes #后台运行
          pidfile /var/run/redis_6379.pid #启动自动生成pid路径,对应上面路径
          logfile "/usr/local/redis-4.0.1/logs/redis.log" #日志生成路径
          dir /usr/local/redis-4.0.1/data/redisData #持久化文件路径
  • 配置redis自启动
    • 拷贝配置文件至/etc目录下
      mkdir /etc/redis
      cp /usr/local/redis-4.0.1/redis.conf /etc/redis/6379.conf
    • 添加服务项
      cd /etc/redis
      chkconfig –add redis
    • 设置开机启动
      chkconfig redis on
  • 启动和关闭服务命令
    service redis start
    service redis stop

  • redis测试
    cd /usr/local/bin
    redis-cli
    set test 1
    get test



设置linux系统的编码格式

  • 查看命令
    locale
    localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
    export LC_ALL=zh_CN.utf8
  • 添加配置
    vim /etc/sysconfig/i18n
    添加以下配置

        LANG=zh_CN.UTF-8
        LC_ALL=zh_CN.UTF-8

猜你喜欢

转载自blog.csdn.net/lupengfei1009/article/details/77969514