"0x00 序 和三个朋友一起购买了个阿里云的服务器,无论从安全性和方便管理上讲都需要一套管理方案。博主将通过博客的形式记录下整个配置过程,方便后续变更参考。 服务器的选择一开始是参考大多数生产环境用的[链接]版本。后来发现,安装[链接]的时候,发现编译器版本不够,当时也没怎么想重新编译编译器,就直接再阿里云的管理页面上 .."

阿里云服务器配置

本贴最后更新于 648 天前,其中的信息可能已经东海扬尘

0x00 序

和三个朋友一起购买了个阿里云的服务器,无论从安全性和方便管理上讲都需要一套管理方案。博主将通过博客的形式记录下整个配置过程,方便后续变更参考。 服务器的选择一开始是参考大多数生产环境用的Centos 6.5版本。后来发现,安装Nodejs的时候,发现编译器版本不够,当时也没怎么想重新编译编译器,就直接再阿里云的管理页面上换了一个Centos 7.0的镜像,这才导致了这次切换镜像后的重新配置。

0x01 环境

查看本机的系统环境,为整个记录打下基调。

uname -a
# Linux iZ234nxyvcrZ 3.10.0-123.9.3.el7.x86_64 #1 SMP Thu Nov 6 15:06:03 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

cat /etc/redhat-release
# CentOS Linux release 7.0.1406 (Core)

0x02 创建用户

创建三个登录用户

# xxx
useradd -m -d /home/xxx -g users -s /bin/bash xxx
passwd xxx
# yyy
useradd -m -d /home/yyy -g users -s /bin/bash yyy
passwd yyy
# zzz
useradd -m -d /home/zzz -g users -s /bin/bash zzz
passwd zzz

sudo 权限

通过修改 /etc/sudoers 文件,分别给三个用户添加 sudo 权限

# 备份原始的文件
cp /etc/sudoers /etc/sudoers.bak
# 添加写权限
chmod u+w /etc/sudoers
# 参考 root 的权限配置直接添加所有权限
# root    ALL=(ALL)       ALL
# xxx    ALL=(ALL)       ALL
# yyy    ALL=(ALL)       ALL
# zzz    ALL=(ALL)       ALL
# :wq
vim /etc/sudoers

# 将写权限去掉
chmod u-w /etc/sudoers

0x03 安装软件环境

编译环境

首先需要将GCCC++以及SSL的编译环境安装上,方便后续的Nodejs和后续的Nginx的编译安装。

yum install gcc-c++ openssl-devel

安装 MySQL

数据库的选择了传统的MySQL,版本也是比较老的 5.5 版本。

# 下载 5.5 安装包
mkdir software/mysql && cd software/mysql
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-5.5.48-1.el7.x86_64.rpm-bundle.tar

# 解压
tar -xvf MySQL-5.5.48-1.el7.x86_64.rpm-bundle.tar

# 卸载 Centos 7 自带的 mariadb(PS: 一开始没看到英文解释,对 mariadb 做了升级)
rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

# 安装
yum install MySQL-shared-compat-5.5.48-1.el7.x86_64.rpm
yum install MySQL-server-5.5.48-1.el7.x86_64.rpm
yum install MySQL-client-5.5.48-1.el7.x86_64.rpm
yum install MySQL-devel-5.5.48-1.el7.x86_64.rpm
yum install MySQL-shared-5.5.48-1.el7.x86_64.rpm

# 启动
/etc/init.d/mysql start

# 设置 root 密码
/usr/bin/mysqladmin -u root password 'new-password'

安装 JDK

Java 的编译和运行环境选择了Java 8,可以尝试新的特性。下载安装包必须到Oracle的官网,其他途径提供的都存在风险。

# oracle 官网下载 jdk 1.8
yum install jdk-8u77-linux-x64.rpm

安装 Nginx

到官网下载最新稳定版本

# nginx 1.8.1
wget http://nginx.org/download/nginx-1.8.1.tar.gz
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1/
./configure
make && make install

安装 Nodejs

到官网下载最新稳定版本

wget https://nodejs.org/dist/v4.4.1/node-v4.4.1.tar.gz
tar -zxvf node-v4.4.1.tar.gz
cd node-v4.4.1
./configure
make && make install

配置 Nginx

Nginx运行在不可登录的账号下,这样可以提高一定的安全性

# 添加用户和组
groupadd -r nginx
useradd -r -g nginx -s /bin/false -M nginx
# 修改配置
cd /usr/local/nginx/conf
mkdir vhosts
mkdir rewrites
vim nginx.conf
# 以下为配置文件修改项
user nginx;
charset utf-8;
include vhosts/*.conf;
# 把默认的 sever 移到 vhosts 下面,在 vhosts 下面建立对应域名的配置

0x04 参考链接

Centos 7 安装 mysl5.5 报错 http://mrlee23.iteye.com/blog/2103729 Nginx 安装 http://www.cnblogs.com/suihui/archive/2013/04/13/3018557.html

  • 阿里云
    62 引用 • 336 回帖
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    533 引用 • 740 回帖 • 878 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    146 引用 • 134 回帖 • 653 关注
感谢    关注    收藏    赞同    反对    举报    分享
回帖    
请输入回帖内容...