21 构建综合性服务器记录

通过阅读本章,你将会了解到以下几项内容。

  • 达梦数据库的安装;
  • JSP、PHP等开发环境的搭建;
  • bash 的流程结构

本章摘自本人博客:

21.1 引言

为了建立一个局域网的OA系统,初步设想利用后台自动发送邮件的形式提醒各位办公人员,后期如果有能力借助imo内网通实现后台自动发送消息。如果有可能,添加如下几个功能,纯粹为了折腾了。

  1. DNS 域名系统
  2. 数据库服务器
  3. 邮件系统
  4. Apache
  5. Jsp 运行环境
  6. PHP 运行环境
  7. 试卷自动生成系统
  8. 自动生成其他PDF文件
  9. 内网通在 Linux 下的应用
  10. 搜索引擎

21.2 一、安装计划

  1. 安装 centos 7.6 minimal
  2. 优化 centos
  3. 搭建 DNS 域名系统

21.3 二、VirtualBox虚拟机里安装 centos 7.6 minimal

  1. http://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/ 下载 CentOS-7-x86_64-Minimal-1810.iso
  2. 安装时,语言选择英文,时区选择亚洲上海,硬盘选择32G大小,网络选择桥接网卡,其他默认安装。

21.4 三、centos 优化

本小节参考余洪春《构建高可用Linux服务器(第四版)》,主要优化文件节点数量,IPV6关闭等。

21.4.1 3.1 开通单网卡多IP功能

参考网页:

虚拟机安装成功后,这个时候还无法连接网络,首先要打开网络,配置网卡信息。输入如下命令,获得网卡详细信息列表。

# ip addr

输出结果,

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:81:71:d8 brd ff:ff:ff:ff:ff:ff

前面显示有两个网卡,一个是lo,127.0.0.1,环回地址是主机用于向自身发送通信的一个特殊地址;一个是enp0s3,这是一个实实在在的网卡名称,关于centos命名网卡的方法参考这里。一般网卡的配置文件在 /etc/sysconfig/network-scripts/ 目录下。网卡配置文件一般对应其名称,比如ifcfg-enp0s3。下面编辑该文字,

# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

原文一般是这样子的,

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=ebeffaa5-bff5-4fdc-ad4b-dab6bbc17525
DEVICE=enp0s3
ONBOOT=no

得知本局域网的IP地址类似192.168.0.100的样子,毕竟是服务器,BOOTPROTO=static修改为静态IP地址;设置开机启动网卡,ONBOOT=yes;配置IP地址、网关和域名等,其中是DNS1不能设置为DNS0;设置从DHCP处获得DNS,PEERDNS=yes;不允许普通用户修改网卡信息,USERCTL=no;关闭IPv6网络服务的一部分设置,IPV6INIT=no,其他部分的说明见后文,最终结果修改如下,

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=ebeffaa5-bff5-4fdc-ad4b-dab6bbc17525
DEVICE=enp0s3
ONBOOT=yes
IPADDR0=192.168.0.100
IPADDR1=192.168.0.110
IPADDR2=192.168.0.120
PREFIX0=24
PEERDNS=yes
GATEWAY0=192.168.0.1
DNS1=192.168.0.100
USERCTL=no

21.4.2 3.2 配置 yum 官方源

参考网页:

因为要复制到局域网,且不能连接外网,迫切需要软件缓存包。

# vi /etc/yum.conf

修改keepcache=0keepcache=1保存缓存。备份、下载、更新,不过本人感觉下面这一步意义不打,毕竟CDN技术发展了这么久,下面这段代码完全可以忽略。

# yum install wget -y
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# yum clean all
# yum makecache
# yum remove wget

另外为了更好的安装软件,常常需要epel源,先更新系统,再安装该源,并配置其优先级。

# yum update -y
# yum install epel-release -y
# yum install yum-priorities -y