算法工程师首先是工程师系列01 - 服务器篇 - 物…
2019-01-15 07:00:53来源:博客园 阅读 ()
尤其在互联网公司中,如果不是分工特别明确的独立业务组,通常需要自己处理很多东西,例如一个算法工程师,虽然不要求你装机,但是和负责部署服务的同事对接口,总不能连json是啥都不知道(工作中遇到过一个ETL工程师,不会liunx,不知道json)
一、装机准备
1、选择版本、下载镜像
centos和ubuntu 仁者见仁智者见智,我的大致方向就是注重稳定选centos,深度学习Ubuntu优先,版本不必追求最新,选择成熟的稳定版本会更好,比如centos7.2(7.5),Ubuntu 16.04
2、制作启动u盘
制作启动u盘可参考帖子:
零基础安装服务器系统(centos 7.5 u盘安装遇到的一些坑)
大致流程是:
1. 我们现在首先要下载一个UltraISO(软碟通)的软件,一个至少5g的空u盘,还有就是我们下载好的系统镜像
2. 先要打开我们下载的iso镜像,注意是iso结尾的文件
3. 插上我们的空u盘,当然我们一开始就可以插上我们的u盘了,下面我们就要开始制作我们的系统盘了
二、安装操作系统 以centos7.2为例
1、重置服务器
如果购买的是商用服务器,请直接打售后电话,客服会一步一步指导你重置你的服务器,我这次接触的是联想的ThinkServiceRD560,售后的态度和专业度很不错,用电话基本上是手把手教你重置RAID卡,这里我建议大家找客服或者官方文档,别上网找帖子,费时又费力。这里放上官方文档,比较详细:
ThinkServer RD/TDx50系列服务器板载SATA RAID110i驱动及安装RHEL 6.x/7.x要点说明
如果是买的二手,也尽量找品牌售后。
2、安装系统
物理机如果组的有raid磁盘阵列的话,安装centos还是有坑的,选择合适的方式很重要,搜索结果不少,靠谱的不多,详细可以看这篇帖子:
centos7 u盘安装遇到的坑以及靠谱解决方法。
关键点为:
显示 /dev/root does not exist,此时输入下面的命令:
ls /dev/sd*
列出机器的所有存储设备,一般来说sdb是系统自带的,U盘会是其他命名,另外靠后的。(这个时候需要自己判断)
正如上图所示,我找到U盘存储的编号是sda4,然后输入reboot重启电脑。
同样F12,等到出现图1的画面是,按住键盘e键,此时会进入编辑页面,会看到有这样的默认的一行,
vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
并改成
vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sda4:/ quiet
其中
/dev/sda4:/
替换掉之前的
LABEL=CentOS\x207\x20x86_64 rd.live.check
然后CRTL+X继续安装,下面就进入正常的安装页面。
特别提醒:如果开机按F12看不到u盘,需要在bios设置启动方式 ,一般是从UEFI only改为 Legacy 或者 auto
3、分区设置
分区可以参考这个帖子,centos7.2 分区方案建议
关键点为:
必须的分区
boot分区:
- 作用:引导分区,包含了系统启动的必要内核文件,即使根分区顺坏也能正常引导启动 一般这些文件所占空间在200M以下,
- 分区建议:分区的时候可选100M-500M之间,如果空间足够用,建议分300-500M。避免由于长期使用的冗余文件塞满这个分区。
- 分区格式:建议ext4,按需求更改
/分区(根分区):
- 作用:所有的文件都从这里开始,你可以比喻为Windows的C盘,但其实有区别。如果你有大量的数据在根目录下(比如FTP等)可以划分大一点的空间
- 分区建议:建议15G以上。看需求,根分区和home分区的大小就类似C盘和D盘的空间分布一样,主要占空间在哪儿就在那里分大容量
- 分区格式:建议ext4,按需求更改
swap分区:
- 作用:类似于Windows的虚拟内存,在内存不够用时占用硬盘的虚拟内存来进行临时数据的存放,而对于linux就是swap分区
- 分区建议:建议是物理内存大小的2倍,比如你电脑是4G的物理内存,swap分区可以是8G
- 分区格式:swap格式
可选的分区
home分区
- 作用:存放用户数据,HOME的结构一般是 HOME/userName/userFile,如果不分则默认在/目录下
- 分区建议:如果用户数据多可以将此分区适当增大,请参考“根分区”分区建议;一般硬盘的主要容量几乎都在Home分区和根分区下
- 分区格式:建议ext4,按需求更改
var分区
- 作用:用于log日志的文件的存放,如果不分则默认在/目录下
- 分区建议:如果你安装的linux是用于服务器或者经常做日志分析,请划分var分区,避免日志文件不断膨胀塞满导致根分区而引发问题。
- 分区格式:建议ext4,按需求更改
三、进行基础配置
如果从新启动顺利进入系统,提示输入用户名,那么应该系统总算是装好了,下面开始进行基础配置,当然我这里只是进行最基本的,包括配置ip地址,安装nginx mysql pip等,自己做个记录,也分享一点可能遇到的坑
1、centos7配置静态IP步骤
服务器默认是不开启网络服务的,需要在配置里打开,然后根据网络情况,配置静态ip,以便用远程ssh客户端一类的工具远程操作,再也不用蹲在吵闹闷热的机房了。
centos7配置静态IP步骤
关键点为:
最后的网卡编号可能有所不同,一般服务器有5个网卡,其中四个是并排的,配置4个并排的其中之一即可,机器后面网线也要插对哦!
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
原先的配置类似这样的
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=ens33
UUID=ea35e10e-ff50-4a7a-92d5-ab54c58d8b44
ONBOOT=no
没想到在centos7里默认是不启动网卡的,奇怪的设定啊,所以网卡才没有激活,于是将ONBOOT改为yes,然后再加上以下几个参数的设置 :
IPADDR=192.168.2.181 (你想设置的IP地址)
NTSMASK=255.255.0.0
GATEWAY=192.168.2.1 (默认网关)
HWADDR=00:0C:29:2C:E5:30 (物理地址)
DNS1=114.114.114.114 (首选DNS地址,可与默认网关一样)
5:(:wq)保存退出
6:重新启动网络服务
service network restart
这样应该就完成配置可以上网了
遇坑提醒:
查看网络服务状态
systemctl status network.service
如果重启网路服务失败, 或者执行
systemctl status network.service
命令提示错误
Starting network (via systemctl): Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details
[root@localhost ~]# systemctl status network.service
● network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since 日 2017-02-12 21:57:48 CST; 20s ago
Docs: man:systemd-sysv-generator(8)
Process: 3170 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
2月 12 21:57:48 localhost.localdomain network[3170]: RTNETLINK answers: File exists
2月 12 21:57:48 localhost.localdomain network[3170]: RTNETLINK answers: File exists
2月 12 21:57:48 localhost.localdomain network[3170]: RTNETLINK answers: File exists
2月 12 21:57:48 localhost.localdomain network[3170]: RTNETLINK answers: File exists
2月 12 21:57:48 localhost.localdomain network[3170]: RTNETLINK answers: File exists
2月 12 21:57:48 localhost.localdomain network[3170]: RTNETLINK answers: File exists
2月 12 21:57:48 localhost.localdomain systemd[1]: network.service: control process exited, code=exited status=1
2月 12 21:57:48 localhost.localdomain systemd[1]: Failed to start LSB: Bring up/down networking.
2月 12 21:57:48 localhost.localdomain systemd[1]: Unit network.service entered failed state.
2月 12 21:57:48 localhost.localdomain systemd[1]: network.service failed.
如果出现 Failed to start LSB: Bring up/down networking. 这样,那就比较烦人了,反正我是试了很多方法,最后换了一个网口重新配置才成功,以下提供一下参考:
1、在配置文件中,增加 NM_CONTROLLED=no
表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理
2、和 NetworkManager 服务有冲突,这个好解决,直接关闭 NetworkManger 服务,service NetworkManager stop
并且禁止开机启动
chkconfig NetworkManager off
之后重启
3、再不行可尝试这里 centos7 无法启动网络(service network restart)错误解决办法
2、安装pip、nginx、 mysql
这个网上一大堆,具体就不说了,放两个比较简洁的命令
安装pip
首先安装epel扩展源:
yum -y install epel-release
更新完成之后,就可安装pip:
yum -y install python-pip
安装完成之后清除cache:
yum clean all
这是在root用户时使用的命令,当前用户如果不具有root权限,加上sudo。
如果pip install 出现问题可以试试命令
pip install setuptools==33.1.1
安装Nginx
通过yum search nginx看看是否已经添加源成功。如果成功则执行下列命令安装Nginx。
sudo yum install nginx
启动Nginx并设置开机自动运行
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
yum install nginx
nginx在reload时候报错invalid PID number
安装Mysql数据库
安装mysql稍微有点麻烦,因为大家都懂的原因,虽然我没搞明白。这里是一个比较简明的教程 超简单CentOS7用yum安装mysql 使用中可能我已经更新了源,所以并没有帖子中那么麻烦,简要步骤如下:
主要步骤:
1、卸载mariadb,否则安装mysql会出现冲突
执行命令
rpm -qa | grep mariadb
列出所有被安装的mariadb rpm 包;
执行命令
rpm -e --nodeps 包名称(比如:rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64)
逐个将所有列出的mariadb rpm 包给卸载掉
2、安装
执行命令
sudo yum install mysql-community-server
4、启动
执行命令
sudo service mysqld start
5、改mysql 的root密码
mysqladmin -u root -p password 你的新密码
初始密码为空,直接按回车即可
注意:mysql5.7的初始密码是随机生成的,放在了 /var/log/mysqld.log
使用命令 grep ‘temporary password’ /var/log/mysqld.log
读出来即可。
四、其他补充
如果访问不了,可以看看是否关闭了centos自带的防火墙
CentOS7使用firewalld打开关闭防火墙与端口
CentOS7使用firewalld打开关闭防火墙与端口
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
如果还是不行,那么就需要看看组网的路由是否有进行限制,这个就要找运维了。
原文链接:https://www.cnblogs.com/pinetreeps/p/suan-fa-gong-cheng-shi-shou-xian-shi-gong-cheng-sh.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 作业(进程)调度算法 2020-05-16
- 谷歌BBR拥塞算法内核更新 2020-01-15
- Nginx七层负载均衡的几种调度算法 2019-11-01
- Linux基本操作——文件相关 2019-04-29
- Paxos 算法 :消息传递一致性 2019-01-01
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash