Linux服务器环境搭建及规范

一、服务器环境

  1. 系统信息

  • 4,64位

  • 阿里云服务器

  • JDK:8u172

  • nginx:nginx-1.14.0

  • tomcat:

  • mysql:7

  1.  

二、文件夹规范

  1. /data

       自定义文件夹,存放运行服务的所有文件

  • /data/www/web/{project} 存放静态网页程序,project为各项目名称

  • /data/www/deploy/{project} 存放打包好的可执行的部署程序

  • /data/log/{project} 存放各应用服务的日志文件

  • /data/image/{project} 存上传的图片文件

  • /data/local/ 存放集成的第三方应用服务,如zookeeper、datax、mysql(数据文件)

  • /data/file/{project} 存放上传的文件

  • /data/tmp/ 存放临时文件,如安装文件等

  •  

  1. /usr

       安装应用程序

  • /usr/java/{version} java运行环境

  • /usr/local/tomcat/{version} tomcat应用路径

  • /usr/local/nginx nginx应用路径

三、第一步,JDK环境安装

  1. JDK安装版本:8.0_172(8u172)

  2. JAVA_HOME路径:/usr/java/{JDK_VERSION}/

  3. 安装过程

  • 更新包:yum update

  • 移除原有jdk(若存在):yum remove java-1.x.0-xxx

  • 下载JDK

  • 安装JDK:rpm -ivh jdk-8u172-linux-x64.rpm,默认安装在 /usr/java/{version}目录下,或自定义安装目录:rpm -ivh --prefix= /opt rpm

  • 查看是否安装成功:java -version

  • 设置环境变量:

    • 在/etc/profile.d/路径下新建一个文件,名为sh

    • 写入以下语句:#!/bin/bash

JAVA_HOME=/usr/java/jdk1.8.0_172-amd64/

PATH=$JAVA_HOME/bin:$PATH

export PATH JAVA_HOME

export CLASSPATH=.

  • 保存文件,执行命令:chmod +x /etc/profile.d/java.sh

  • 永久设置环境变量:source /etc/profile.d/java.sh

四、安装Nginx服务器

  1. nginx版本: nginx-1.14.0

  2. 安装方式:源码编译安装

  3. gcc 安装:

  • yum install gcc-c++
  • 编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装

 

  1. pcre pcre-devel 安装

  • yum install -y pcre pcre-devel
  • PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。

  1. zlib 安装

  • yum install -y zlib zlib-devel

  • zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip

  1. OpenSSL 安装

  • yum install -y openssl openssl-devel

  • OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。 nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http)

  1. nginx安装

  • 下载nginx源码包:wget -c https://nginx.org/download/nginx-1.12.1.tar.gz

  • 解压源码包:tar -zxvf nginx-1.12.1.tar.gz

  • 编译配置:

    • cd /nginx-1.14.0/

    • ./configure --prefix=/usr/local/nginx --with-http_ssl_module或直接./configure不带参数,则是默认配置

Configuration summary

  + using system PCRE library

  + OpenSSL library is not used

  + using system zlib library

 

  nginx path prefix: "/usr/local/nginx"

  nginx binary file: "/usr/local/nginx/sbin/nginx"

  nginx modules path: "/usr/local/nginx/modules"

  nginx configuration prefix: "/usr/local/nginx/conf"

  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"

  nginx pid file: "/usr/local/nginx/logs/nginx.pid"

  nginx error log file: "/usr/local/nginx/logs/error.log"

  nginx http access log file: "/usr/local/nginx/logs/access.log"

  nginx http client request body temporary files: "client_body_temp"

  nginx http proxy temporary files: "proxy_temp"

  nginx http fastcgi temporary files: "fastcgi_temp"

  nginx http uwsgi temporary files: "uwsgi_temp"

  nginx http scgi temporary files: "scgi_temp"

  • 编译:make && make install

  • 查找安装路径:whereis nginx

  • 重启nginx:

  1. 启动 停止nginx

              首先,cd /usr/local/nginx/sbin/

  • ./nginx // 启动 nginx

  • ./nginx -s stop // 停止 nginx

  • ./nginx -s quit // 从容停止 nginx

  • ./nginx -s reload // 重启 nginx

  • ./nginx -s quit 此方式停止步骤是待nginx进程处理任务完毕进行停止

  • ./nginx -s stop 此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程

  • 查询nginx进程:ps aux|grep nginx

  1. 重新加载配置文件

       当我们修改了 nginx 的配置文件 nginx.conf 想让它立即生效时 这时我们就需要重启nginx

  1. 开机自启动

  • 在local增加启动代码即可,vi /etc/rc.local,增加一行 /usr/local/nginx/sbin/nginx

  • 设置执行权限:chmod 755 rc.local

 

五、安装Tomcat服务器

  1. 默认安装位置

  • /usr/local/tomcat/apache-tomcat-x.x.xx/

  1. Tomcat版本选择

  • Tomcat 8.0.52属于稳定版,tomcat9的新功能不能体验

  • Tomcat 8.5.32介于0.x和9.0之间,可体验9.0的部分新功能

  • 详细对比

  • 当前选择:Tomcat 8.5.32

  1. Tomcat安装

  • 下载安装包,并上传到服务器/data/tmp

  • 解压程序包:

    • cd /data/tmp

    • tar -zxvf apache-tomcat-x.x.xx.tar.gz

  • 移动到/usr/local/tomcat下:

    • mv /data/tmp//apache-tomcat-8.5.32 /usr/local/tomcat//apache-tomcat-8.5.32

  • 安装成功

  1. 启动和关闭

cd /usr/local/tomcat//apache-tomcat-8.5.32/bin
  • 启动:./startup.sh

  • 关闭:./shutdown.sh

  1. 优化--连接池配置

  • 打开配置文件:vim /usr/local/tomcat/apache-tomcat-8.5.32/conf/server.xml

  • 配置

 

<Executor

             name="tomcatThreadPool"

             namePrefix="catalina-exec-"

             maxThreads="500"

             minSpareThreads="100"

             prestartminSpareThreads = "true"

              maxQueueSize = "100"

  />
  • 参数解释

    • maxThreads,最大并发数,默认设置 200,建议在 500 ~ 800,根据硬件设施和业务来判断

    • minSpareThreads,Tomcat 初始化时创建的线程数,默认设置 25

    • prestartminSpareThreads,在 Tomcat 初始化的时候就初始化 minSpareThreads 的参数值,如果不等于 true,minSpareThreads 的值就没啥效果了

    • maxQueueSize,最大的等待队列数,超过则拒绝请求

  1. 优化--连接参数

  • 打开配置文件:vim /usr/local/tomcat/apache-tomcat-8.5.32/conf/server.xml

  • 将默认的Connector修改为下面配置:

<Connector

   executor="tomcatThreadPool"

   port="8080"

   protocol="org.apache.coyote.http11.Http11Nio2Protocol"

   connectionTimeout="20000"

   maxConnections="10000"

   redirectPort="8443"

   enableLookups="false"

   acceptCount="100"

   maxPostSize="10485760"

   compression="on"

   disableUploadTimeout="true"

   compressionMinSize="2048"

   acceptorThreadCount="2"

   compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"

   URIEncoding="utf-8"/>
  • 参数解释

    • protocol,Tomcat 8 设置 nio2 更好:apache.coyote.http11.Http11Nio2Protocol

    • protocol,Tomcat 6、7 设置 nio 更好:apache.coyote.http11.Http11NioProtocol

    • enableLookups,禁用DNS查询

    • acceptCount,指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认设置 100

    • maxPostSize,以 FORM URL 参数方式的 POST 提交方式,限制提交最大的大小,默认是 2097152(2兆),它使用的单位是字节。10485760 为 10M。如果要禁用限制,则可以设置为 -1

    • acceptorThreadCount,用于接收连接的线程的数量,默认值是1。一般这个指需要改动的时候是因为该服务器是一个多核CPU,如果是多核 CPU 一般配置为

  1. 端口配置问题

  • 该问题在阿里云未提供网络安全组之前,需要手动开放端口

  • 阿里云提供网络安全组后,在阿里云控制台--网络安全组内设置即可

  1. Tomcat控制台

  • 编辑/usr/local/tomcat/apache-tomcat-8.5.32/conf/stomcat-user.xml,添加如下信息:

<role rolename="manager"/>

<role rolename="manager-gui"/>

<role rolename="admin"/>

<role rolename="admin-gui"/>

<user username="tomcat" password="tomcat" roles="admin-gui,admin,manager-gui,manager"/>

 

  • 关闭地址限制

    • 修改tomcat管理功能配置文件(<tomcat>/webapps/manager/META-INF/context.xml),注释掉地址限制:

<Context antiResourceLocking="false" privileged="true" >

   <!--

    <Valve className="org.apache.catalina.valves.RemoteAddrValve"

         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

 --></Context>

 

  • 或者在<tomcat>/conf/catalina/localhost/下导入 文件(文件在公司共享库)

  1.  

 

 

十、参考


    Danzel
    Danzel管理员

    • 声明:本文由Danzel于2020-05-13转载(优化),转载须经原站同意并注明出处。
    • 本文地址:http://maryd.cn/?id=23
    上一篇:outlook安全模式(闪退处理)
    下一篇:Excel横变竖行(批量)SQL

    留言评论

    暂无留言
    取消
    扫码支持