三年前写过一篇,但是环境和三年前比已经发生了比较大的变化,于是重新写一篇,自己以后再次配置也比较方便。我个人而言并没有觉得centos比ubuntu好用多少,所以继续选用ubuntu。

一、硬盘分区
    阿里云的服务器硬盘都是没有分区和格式化的,首先我们要进行硬盘的分区,以下部分内容截图摘自http://www.2cto.com/os/201307/230993.html: 
第一步是创建一个分区 输入命令 # fdisk /dev/xvdb 
 
根据提示可输入 m 查看帮助,而后跟随输入n 
 
跟随命令输入p,分区号输入1,新分区起始的磁盘块数输入1 回车 
 
跟随命令输入w 
 
见到如上提示表示分区完成。输入 fdisk -l 见到如下; 
 
第二部是格式化分区 输入# mkfs.ext3 /dev/xvdb1 
 
第三部是建立挂载目录 # mkdir data (这里我一般是挂载到/opt/,之后的数据安装和数据库文件也放到这里)
第四部是挂载分区# mount /dev/xvdb1 /data 
第五部是设置开机自动挂载 输入 # vi /etc/fstab 如图所示其中最后一条是我手动录入的 
 
第六部是重启服务器 reboot 
第七部是查看是否挂载成功 输入 # df 
二、更新源
好吧,到这里我们已经完成了硬盘的分区,接下来安装我们服务器必备的文件,首先为了安装方便,我们需要更新ubuntu源,复制以下链接到/etc/apt/sources.list

deb http://mirrors.163.com/ubuntu/ precise main restricted
deb-src http://mirrors.163.com/ubuntu/ precise main restricted
deb http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb http://mirrors.163.com/ubuntu/ precise universe
deb-src http://mirrors.163.com/ubuntu/ precise universe
deb http://mirrors.163.com/ubuntu/ precise-updates universe
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe
deb http://mirrors.163.com/ubuntu/ precise multiverse
deb-src http://mirrors.163.com/ubuntu/ precise multiverse
deb http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-security main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted
deb http://mirrors.163.com/ubuntu/ precise-security universe
deb-src http://mirrors.163.com/ubuntu/ precise-security universe
deb http://mirrors.163.com/ubuntu/ precise-security multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-security multiverse

然后执行sudo apt-get update

三、安装erlang
这次换用erlang最新的otp R18.3的版本,安装方式和3年前有所不同,首先去下载ubuntu环境现成的编译好的deb:

然后直接dpkg -i安装,提示有依赖库未安装,执行sudo apt-get installl -f安装相关依赖,

再次执行dpkg -i安装,成功。
 
erlang otp r18安装成功

四、安装redis 30
下载:
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
解压:

tar -zxvf redis-3.0.7.tar.gz
 

编译:
make  
运行:
/src/redis-server
运行成功如下图:
 
将redis做成一个服务:

修改redis.conf,将后台运行选项打开
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes

  

 
编写脚本,vim /etc/init.d/redis:

# chkconfig: 2345 10 90
# description: Start and Stop redis REDISPORT=6379 #实际环境而定
EXEC=/root/redis-3.0.7/src/redis-server #实际环境而定
REDIS_CLI=/root/redis-3.0.7/src/redis-cli #实际环境而定 PIDFILE=/var/run/redis.pid
CONF="/root/redis-3.0.7/redis.conf" #实际环境而定 case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed."
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE exists, process is not running."
else
PID=$(cat $PIDFILE)
echo "Stopping..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x $PIDFILE ]
do
echo "Waiting for Redis to shutdown..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac

  

 
 

运行效果如下图:
 

五、安装mysql 5.7.11
 1.下载:wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-server_5.7.11-1ubuntu12.04_amd64.deb-bundle.tar

 2.解压:tar -xvf mysql-server_5.7.11-1ubuntu12.04_amd64.deb-bundle.tar 
3.依次执行:
sudo apt-get install libaio1
sudo dpkg-preconfigure mysql-community-server_*.deb
sudo dpkg -i mysql-{common,community-client,client,community-server,server}_*.deb
这期间如果遇到任何依赖问题,请执行: 
sudo apt-get -f install
4.修改my.cnf 

再写一篇ubuntu服务器的环境配置文的更多相关文章

  1. ubuntu 服务器 php 环境简单搭建

    安装中文支持,避免一些语言相关的坑 12345678 sudo apt-get install language-pack-zh-hans sudo vim /etc/default/locale L ...

  2. 再写一篇tps限流

    再写一篇tps限流 各种限流算法的称呼 网上有很多文章介绍限流算法,但是对于这些算法的称呼与描述也是有点难以理解.不管那么多了.我先按我理解的维度梳理一下. 主要维度是:是正向计数还是反向计数.是定点 ...

  3. Flask+Nginx+uWSGI在Ubuntu服务器上的配置

    Flask+Nginx+uWSGI在Ubuntu服务器上的配置 Step1 安装系统环境 Ubuntu服务器选择是阿里云的ECS服务,ECS提供单独的内存\CPU\带宽\存储规格可以选择,并且提供合适 ...

  4. Ubuntu 深度炼丹环境配置

    Ubuntu 深度炼丹环境配置 深度炼丹最麻烦的就是环境配置了,下面过程记录了本人进行深度炼丹环境的配置. 首先是安装图形显卡驱动,按如下指令进行即可 sudo add-apt-repository ...

  5. MYSQL服务器my.cnf配置文档详解

    MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...

  6. ubuntu + lamp + laravel 环境配置

    首先是LAMP 安装顺序是 A(Apache服务器)  M(Mysql) P(Php) 安装apache sudo apt-get install apache2 安装mysql sudo apt-g ...

  7. linux之ubuntu下php环境配置

    本文主要说明如何在Ubuntu下配置PHP开发环境LAMP.   Ubuntu 搭建 php 环境   所谓LAMP:Linux,Apache,Mysql,PHP   安装 Apache2:(注意可以 ...

  8. 在某公司时的java开发环境配置文档

    1 开发环境配置 1.1.  MyEclipse 配置 1.MyEclipse下载地址:\\server\共享文件\backup\MyEclipse9.0 2.修改工作空间编码为UTF-8,如下图 3 ...

  9. yii验证系统学习记录,基于yiicms(一)写的太长了,再写一篇(二)

    项目地址:https://gitee.com/templi/yiicms 感谢七觞酒大神的付出,和免费分享.当然也感谢yii2的开发团队们. 项目已经安全完毕,不知道后台密码,这种背景下,后台无法进去 ...

随机推荐

  1. selenium面试题

    selenium中如何判断元素是否存在? selenium中没有提供原生的方法判断元素是否存在,一般我们可以通过定位元素+异常捕获的方式判断. # 判断元素是否存在 try: dr.find_elem ...

  2. 用Python写一个随机密码生成器

    # /bin/python3 import sys import time import random strs = [ i for i in range(32,128) ] #产生密码的ASCII码 ...

  3. luoguP4396 [AHOI2013]作业

    https://www.luogu.org/problemnew/show/P4396 简单的莫队+树状数组,但博主被卡常了,不保证代码在任何时候都能AC #include <bits/stdc ...

  4. 洛谷P4014 分配问题(费用流)

    传送门 可以把原图看做一个二分图,人在左边,任务在右边,求一个带权的最大和最小完美匹配 然而我并不会二分图做法,所以只好直接用费用流套进去,求一个最小费用最大流和最大费用最大流即可 //minamot ...

  5. vue的生命周期钩子函数

    一.vue生命周期图示 二.钩子函数执行时间 beforeCreate      在创建实例之前,data只声明但没有赋值  在实例初始化之后,数据观测 (data observer) 和 event ...

  6. 跟我一起读postgresql源码(四)——Planer(查询规划模块)(上)

    时间一晃周末就过完了,时间过得太快,不由得让人倍加珍惜.时间真是不够用哈~ 好的不废话,这次我们开始看查询规划模块的源码吧. 查询规划部分的在整个查询处理模块应该是在一个非常重要的地位上,这一步直接决 ...

  7. 手机端file限制只能选择图片、视频、音频,直接打开摄像头拍照或录像

    限制只能选择图片 <input type="file" accept="image/*"> 限制只能选择视频 <input type=&quo ...

  8. select和epoll的实现

    select:fd_set是输入结果参数,每次select之后,还得重置fd_set (1)使用copy_from_user从用户空间拷贝fd_set到内核空间,第一步需要复制所有感兴趣的文件描述符到 ...

  9. enumerate函数

    enumerate(list):返回元组,带有索引值,常用用法: for i in enemerate(list): print(i)

  10. POJ2248 Addition Chains 迭代加深

    不知蓝书的标程在说什么,,,,于是自己想了一下...发现自己的代码短的一批... 限制搜索深度+枚举时从大往小枚举,以更接近n+bool判重,避免重复搜索 #include<cstdio> ...