centos7装机与基础配置

# centos7装机与基础配置


Linux是一套免费使用和自由传播的类Unix操作系统,也是常见的服务器操作系统之一。Linuxdistributions有很多,工作室的服务器普遍采用CentOS,它是RedHatLinux的社区版。下面以CentOS7-Minimal为例,讲解linux服务器的安装和简单配置。


## 虚拟机VirtualBox安装


linux初学者不推荐直接在个人电脑上安装linux系统,由于各种驱动的问题,其过程会比较艰辛=_=,不过非常欢迎作死!

一般将Linux安装在虚拟机中。可选的虚拟机有很多,如Windows/MacOS著名的VMware WorkstationMac上常用的Parallel Desktop,这里推荐轻量但功能齐全的开源虚拟机Oracle VM VirtualBox

https://www.virtualbox.org/wiki/Downloads 选择所在平台下载,安装,最好将USB,两种网络方式,和python2.x支持都勾选安装。

centos7装机与基础配置_第1张图片

安装完成后,打开Virtualbox,看看安装成功了没,没有就gg


## CentOS7安装


centos7官网 https://www.centos.org/download/ 下载centos7-minimal镜像

centos7装机与基础配置_第2张图片

选择任意国内镜像下载,注意一些常见的国内镜像站,如ustc(中科大),163(养猪场),tuna(清华),sjtu(上交)。


另外centos7只支持64位(x86_64架构)的计算机,如果你的古董32位电脑需要安装centos,可以在官网下载页(如下图)点击alternative downloads,选择i386架构的centos6.8下载安装。你也可以选择debian支持32位的版本。

centos7装机与基础配置_第3张图片

centos7装机与基础配置_第4张图片

同样的,你也可以选择在工作室内网网盘SeaFile上下载centos7镜像。


系统镜像下载完成后,进入virtualbox,选择new新建一个虚拟机,取一个你喜欢的名字,类型选择linux,版本选择RedHat(64bit)

centos7装机与基础配置_第5张图片

内存根据需求选定,不要超过总内存的1/2

centos7装机与基础配置_第6张图片

继续,默认设定

centos7装机与基础配置_第7张图片

centos7装机与基础配置_第8张图片

centos7装机与基础配置_第9张图片

总大小根据需求选择,不要过分担心容量问题,因为测试机不会存放很多文件,其次之后有办法扩容。


选择创建之后,你会看到左侧出现了刚刚创建好的虚拟机。

centos7装机与基础配置_第10张图片

现在点击start开始安装系统,这里我们选择需要挂载的镜像文件,如果你之前安装过,列表中应该出现了之前的镜像名称,否则我们需要点击右侧的按钮打开文件。

centos7装机与基础配置_第11张图片

开始安装,选择校验文件完整性后安装(第二项)

centos7装机与基础配置_第12张图片

选择语言后进入到安装界面

centos7装机与基础配置_第13张图片

进入到NETWORK & HOST NAME中,把以太网Ethernet打开,Ethernet后面的括号就是目前网卡的名字,如这里的enp0s3。完成后选择done回到主页

centos7装机与基础配置_第14张图片

接下来选择时间,时区选到上海,打开网络时间。如果你的网络连接外网有障碍,请手动添加国内的ntp服务,如time1.aliyun.com

centos7装机与基础配置_第15张图片

其他项根据自己的喜好设置。最后进入到INSTALLATION DESTINATION,选择安装硬盘。一般默认设置就足够了,完成安装后再使用LVM管理分区。如果你的计算机是混合存储型(硬盘+ssd),你可以像很多教程一样,在高速存储的ssd上单独设置一个/swap分区用作缓存。(详细的教程之后添加)

centos7装机与基础配置_第16张图片

设置完成后,开始安装吧。

安装过程中需要设置root用户密码,也可以创建一个自己的专属账户(后面会介绍用户管理)

centos7装机与基础配置_第17张图片

安装过程中,可以回到主界面(用快捷键退出鼠标捕获,默认Mac是左CMD键,win是右Ctrl),选择Settings-Network,选择桥接模式以及需要桥接的主机网络,一般是wifiethernet(网线),如果你的主机换了网络接入方式而导致虚拟机网络不通,记得到这里查看和更改网络哦。

VirtualBox的四种常用网络接入方式介绍:<https://www.douban.com/group/topic/15558388/>

centos7装机与基础配置_第18张图片

安装完成,火车要启动了555555



## 用户添加与权限修改(beta


root登录,非root账户suroot账户,或者将用户添加到sudoers,使用sudo命令执行。


添加账户使用useradd -cdgGsu NEWUSER 命令:

参数:

-c comment 指定一段注释性描述。

-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

-g 用户组 指定用户所属的用户组。

-G 用户组,用户组 指定用户所属的附加组。

-s Shell文件 指定用户的登录Shell

-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。


举例子 useradd -d /var/test/sademo -m -g root sademo

添加sademo用户,加入到root组,用户的跟目录地址在/var/testsademo


sademo设置密码,使用passwd sademo命令


## 网络通畅性检查


#首先介绍几个常用的网络命令:

#ipcentos7 ifconfigcentos6/macifup/ifdown  lsof 


ip addr 尝试获取本机ip

还记得之前安装时我们查看到的网卡名字吗,demo安装的网卡名字是enp0s3。如下图所示,ip addr显示的结果中,enp0s3 没有对应的ip信息——“inet xxx.xxx.xxx.xxx”,说明目前是没有网络的。我们可以ping一下局域网验证一下,结果显示 Network is unreachable,说明网络确实是不通畅的。

centos7装机与基础配置_第19张图片


网络不通畅的原因有很多。一般初始安装的CentOS7环境网络不通的原因是网卡并没有启动。

所以我们需要手动启动网卡,并且设置网络的自启动。

  

vi编辑器打开网卡的配置文件 vi /etc/sysconfig/network-scripts/ifcfg-“你的网卡名字,得到一下下图所示的界面。找到ONBOOT=no这一项,将no修改为yes。保存退出。


centos7装机与基础配置_第20张图片


vi编辑器的使用较为复杂,你可以先百度学习一波。这里大致介绍一下这里需要用到的:

方向键控制光标的位置,键盘i是插入模式(相当于MS-Word中正常的文本插入模式),修改成功后使用ESC退出插入模式,如果你手抖了删除或者输入错误了什么东西,退出了插入模式后按u撤销上次操作。输入 :wq (冒号wq 冒号不要忘记了!!!)保存修改并退出,程序提示写入成功。


打开网卡: ifup enp0s3

打开网络并设置自启动:systemctl enable network && systemctl start network 

现在再试试有没有ipip addr 

centos7装机与基础配置_第21张图片

如果和上图一样,说明ip是有的了,显示 inet 192.168.123.103 ,即本机ip 192.168.123.103。一般路由器启动了DHCP协议,登录情况的不同可能导致下次登录的ip 发生了变化。如果你部署了网络服务,需要固定ip,你可以在路由器上或者网卡配置中修改。


我们再尝试一下外网的连接:ping www.baidu.com 。如果有数据流,说明外网连接成功。



## yum源替换和添加


yum centos上的使用的软件包管理器,是我们安装软件常用的方式之一。但是centos自带的yum官方下载源国内访问速度慢,建议更换成国内的镜像源。


如果你是centos7,请执行以下命令,将源备份后替换成阿里的镜像源:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

curl http://mirrors.aliyun.com/repo/Centos-7.repo >> /etc/yum.repos.d/CentOS-Base.repo

yum makecache


(更新软件,可选)yum update all


yum源中的软件有限,我们添加额外软件包epel的源,便可以下载一些常用的软件: yum -y install epel-release


## sshd配置(禁止远程root登陆,允许key无密码登陆)


ssh是常用的远程登录命令。一般centos是默认安装了ssh的,尝试输入ssh,如果提示没有这个命令,你需要使用yum install ssh安装,并使用systemctl enable sshd && systemctl start sshd 启动sshd服务并设置自启动。


出于对安全性的考虑,一般服务器都禁止直接使用root用户登录,我们也来学习一下,你自己测试用的虚拟机可以不用设置。

修改vi /etc/ssh/sshd_config,找到PermitRootLogin如下图:

centos7装机与基础配置_第22张图片

将前边的注释号#去掉,保证后面的值为yes:wq保存退出,systemctl restart sshd,便禁止了root远程登录。用ssh root@centosip 测试一下,看正确输入密码是否也提示Permission Denied,如果是的,即设置成功。


自己的主机出于方便性的考虑、或者公司服务器出于安全性考虑关闭了密码登录,都要用到ssh登录的另一种方式,key登录。大致的原理就是将登录机上的生成的独一无二的身份钥匙传递到服务器的特定位置中登记,这样每次ssh登录时服务器检测到有人拿着登记过的钥匙就放行,甚至不需要输入密码。

Mac 登录 CentOS7为例,我们来具体操作:

登录机操作:

ssh-keygen -t rsa ,将生成~/.ssh/id_rsa.pub scp ~/.ssh/id_rsa.pub sademo@”centosip“:~/.ssh/id_rsa.pub 上传到服务器中

服务器端:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 写入到.ssh/authorized_keys文件里,chmod 600 ~/.ssh/authorized_keys修改权限


ssh登录测试一下吧。


## python环境搭建(含pip源替换)


centos7目前默认安装了python2.7,你可以尝试 python -V 查看python版本。如果你没有安装python或者需要安装python3,请自行yum安装。

我们常常需要使用到基于python的各种应用和包,因此python中的包管理器pip的安装是非常有必要的。

curl https://bootstrap.pypa.io/get-pip.py >> ~/get-pip.py 

python ~/get-pip.py 

安装完成,用pip -V测试一下


pip源的下载速度真的是非常缓慢,强烈建议替换成国内豆瓣镜像源:

修改 ~/.pip/pip.conf (没有就mkdir ~/.pip && touch ~/.pip/pip.conf创建一个) 修改或添加:

[global]
timeout = 60
index-url = https://pypi.douban.com/simple


## LNMP环境搭建和基础配置


Linux环境搭建基本完成,而这仅是web服务器LNMP/LAMP环境搭建的第一步。

工作室目前采用LNMP架构,即LinuxNginxMySQLMariadb),PHP

centos7装机与基础配置_第23张图片

Linux就是环境所在的操作系统;Nginx则是一个「高性能的HTTP和反向代理服务器;MySQL则是一个方便地对数据进行增删改查的数据库管理系统;PHP则是用来处理具体请求的后台脚本语言。


下面具体介绍NginxMySQLPHP环境的搭建和简单部署:


### Nginx 安装

Nginx部署参考了工作室王巅峰的干货教程:【干货】NginxOpenresty <http://mp.weixin.qq.com/s/QlgSEkC5ZLcLno_0yfOPbA>


首先是在 yum源替换和添加 一节中提到的epel依赖库的安装,如果当时你没有安装,请使用 yum -y install epel-release 安装

这里介绍官网repo安装nginx的方法:

首先建立nginxrepotouch /etc/yum.repos.d/nginx.repo

vi /etc/yum.repos.d/nginx.repo 

写入

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/7/$basearch/

gpgcheck=0

enabled=1

保存后 yum install -y nginx 安装


systemctl enable nginx && systemctl start nginx 设置自启动并开启nginx


nginx 默认监听80端口,工作目录在/etc/nginx,运维最常用的日志文件默认在/var/log/nginx中(在/etc/nginx/nginx.conf中设置

)。如果启动nginx出现异常,请用lsof/netstat检查端口占用情况,如果你的linux环境中有Apache,请关闭和卸载apache后再启动nginx


nginx -V 查看nginx版本

systemctl status nginx 查看nginx工作情况


再来我们试试用lsof -i:80查看80端口的占用情况,发现nginx正常占用。


我们需要在centos7的防火墙firewall中打开80端口允许外部访问:

firewall-cmd —add-port=80/tcp ; firewall-cmd -add-port=80/tcp —permanent

然后我们去浏览器上输入服务器地址,看看能不能加载nginx默认页面。

centos7装机与基础配置_第24张图片


### Mysql 安装

新版本的centos 默认使用mariadb作为mysql的替代。<https://www.zhihu.com/question/41832866> mariadb全面兼容mysql,所以请放心安装。如有需要你也可以安装正统mysql


直接使用yum 安装mariadb

yum install -y mariadb mariadb-server 安装

systemctl enable mariadb && systemctl start mariadb 设置自启动并启动mariadb

mysql_secure_installation 开始进行MariaDB的相关简单配置

Enter current password for root (enter for none): 第一次配置请直接回车

Set root password? [Y/n]  回车设置root账户

Remove anonymous users? [Y/n] 生产环境请务必删之!!

Disallow root login remotely? [Y/n] 是否禁止root远程登录,根据自己的需求选择Y/n并回车,建议禁止

Remove test database and access to it? [Y/n]  是否删除test数据库,直接回车

Reload privilege tables now? [Y/n]  是否重新加载权限表,直接回车


提示安装完成后尝试登陆:mysql -uroot -p

成功进入到mysql,安装完成


### php环境安装

推荐一个phpyum镜像站 webtatic.com 

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

yum install php56w-fpm php56w-opcache php56w-common

 

安装完成后,我们来配置和测试php的解析。

打开nginx的默认配置文件 /etc/nginx/conf.d/default.conf 

找到

location ~ \.php$ {

        root           html;

        try_files $uri =404;

        fastcgi_pass   127.0.0.1:9000;

        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME   /script$fastcgi_script_name;

        include        fastcgi_params;

    }

这一段,如果这一段被注释掉了请删除注释符号,如果没有请添加。

这里我们需要修改两个地方,第一个是root,即根目录地址,我们暂时设置为/usr/share/nginx/html,并且将fastcgi_param  SCRIPT_FILENAME 修改为 $document_root,保存。

随后重新加载nginx的配置文件: nginx -t && nginx -s reload

随后,我们在/usr/share/nginx/html 创建test.php 文件,写入  


之后我们在浏览器上访问 http://服务器ip地址/test.php ,能看到php信息说明php的解析配置成功。

centos7装机与基础配置_第25张图片






你可能感兴趣的:(日志)