Linux实战技术—CentOS 7 网络配置
随着PHP的升级迭代,老的php版本在一些高并发,情况下越来越吃力,PHP7+顺势而生,随着swoole的扩展协程在php中也变得得以实现,下面看下怎么在centos下升级对应的php吧。
首先确定centos版本
1通过cat/etc/redhat-release本机用到的是Centos62版本
2由于是升级php,为了防止冲突我们使用rpm_qa|grepphp看看系统中是否有PHP,然后我们remove掉他yumremove_yphp,以免影响冲突。
3接下来我们来安装php72,我的安装过程可谓一波三折啊,跟着我看看踩了的那些坑吧。
因为默认的yum源没有php72,因此我们必须额外安装yum源
配置安装yum源EPELandRemirepository
Centos7系列:
Centos6系列:
然而悲催的是第一步都出错了,竟然提示打不开rpm,此处不要慌张,只需要yumupdate_ynss即可nss(Linux名称解析服务)
2)接下来安装yum-utils
yuminstall-yyum-utils
执行完后我们通过以下命令
yum-config-manager--enableremi-php72
启用php72这里注意只是启用了,但是具体的还得通过以下命令来安装
yuminstall-yphpphp-mcryptphp-cliphp-gdphp-curlphp-mysqlphp-ldapphp-zipphp-fileinfophp-fpmphp-develphp-mbstring
What?又报错这又是什么原因呢看着提示是yum找不到。不要怕此时应该是python版本问题导致的。我们只需要将python重新软链下即可
rm-rf/usr/bin/python&&ln-s/usr/bin/python26/usr/bin/python
至此php72安装完成。
准备阶段
我使用的是一台Reg Model E18s 物理服务器,以及一个金士顿32GU盘,Rufus工具以及iso文件也附上:
「rufus-316pexe」https://wwwaliyundrivecom/s/TP7MvZ8ABdz
1、制作U盘启动阶段
需要在U盘安装启动程序(我使用的是rufus工具)
在windows打开rufus工具,插入U盘,rufus会自动识别U盘(或者手动选择)
此处我使用的是centos7镜像,若是要安装ubuntu、win镜像,步骤一样的哈,点击“开始”,弹出检测到ISOHybrid镜像,选择“是”
启动盘将会格式化U盘,(注意:把重要资料记得备份)
点击“确认”后,会直接开始制作启动盘,需等待10分钟左右
完成后界面
2、格式化磁盘并分配RAID 10 阵列
按开机键,下图是物理服务器开机界面
当屏幕出现 Press <Ctrl><R> to Run Configuration Utility 字样,按Ctrl+R 进入Bios界面
当前物理服务器若有系统建议格式化磁盘重新分配RAID,在键盘按向上键到第一行
按F2 ,选择Clear Config ,回车,选择YES
回车后,格式化界面如下:
按向上键到第一行,再F2选择 Create New VD,回车
进入到以下界面,选择RAID Level。 选择那种阵列根据自己业务需求来,我是使用RAID-10,空格键把4个磁盘选上,点击ok
回到mgmt进行初始化,选择当前磁盘,按F2
选择Initialization,Fast Init。进行初始化
选择yes 回车
按esc 退出,选择C。物理服务器会要求重启如下。
此处需把启动盘(u盘)插上后,按住Control+Alt+Delete 重启
重启过程需要按F11进入设置页面,如下:
若出现Strike the F1 key to continue, F2 to run the system setup program 提示
按F1 继续
稍微等下后,将会进入设置界面,选择BIOS Boot Menu 回车
选择 Hard drive C:,选择 U盘启动,如下
3、安装linux centos7
u盘启动后,将会进入到这个界面,选择install Centos7即可,如下
等待10分钟左右,将会进入图形化界面按照,根据自己的需求进行配置。
等下10分钟,重启
最后重启进入到命令行界面,即安装完成。输入root账号名,已经安装过程中设置的密码进行登录即可。
恭喜顺利安装完毕,开始linux之旅。
初学Linux,在VMware Workstation上安装了Centos 7版本,接下来我们就进行网络配置。
1centos7虚拟机安装
进入centos官网 https://vaultcentosorg/,然后选择centos的74版本;
找到isos/,点击一下;
点击x86_64/;
下载centos7,可根据自己需要下载。
2虚拟机的典型配置
下载完成之后,打开vmware,然后点击创建新的虚拟机;
选择典型,点击下一步;
选择稍后安装操作系统,继续下一步;
选择Linux操作系统以及Centos7 64位,继续下一步;
选择保存的位置,继续下一步;
磁盘默认大小为20GB,默认即可;
点击完成;
点击编辑虚拟机设置;
然后找到下载好的centos7 iso文件;
移除USB控制器、声卡和打印机只是为了能够腾出更多的资源空间(可以跳过,即不移除这些设备)。
3centos74的安装以及相关设置
点击开启此虚拟机之后,选择Install CentOS 7;
默认使用英语,点击continue;
点击DATA &TIME,选择区域为亚洲上海之后,设置和自己电脑上一致的时间;
选择SOFTWARE SELECTION后,再勾选如下图所示的选项;
点击INSTALLATION DESTINATION;
点击Accept Changes;
点击Begin Installation;
选择ROOT PASSWORD;
等待安装完成之后点击Reboot;
输入用户名和密码,成功登录。
具体安装步骤:
1yum install docker-io,yum安装docker,需要要root权限
2systemctl start dockerservice ,启动docker
3systemctl status dockerservice ,查看docker的状态
4chkconfig dockerservice ,添加开机启动项
5docker pull centos:latest,获取centos镜像,下载的时间和网络有关,可能会时间比较长!
7docker image centos,查看镜像
8docker run -i -t ubuntu /bin/bash,运行bash,来跑简单的测试案例!
直接下载PHP702的安装包解压,编译,安装:
下载php7,并解压
$ cd /usr/src/
$ wget
#解压
$ tar -xzxvf php-702targz
$ cd php-702
解压完后先不要编译,请检查是否安装了gcc ,没有的话执行yum install gcc
检查是否安装了libxml2 ,没有的话执行yum install libxml2
检查是否安装了libxml2-devel,没有的话执行yum install libxml2-devel
注:因为改为用nginx了,所以编译参数中的--with-apxs2=/usr/bin/apxs去掉了,如果要配置apache用,安装PHP前,请先安装apache。
在 CentOS 7 / Ubuntu 1504 上安装 PHP 框架 Laravel的方法
CentOS-7
#yum install epel-release
# rpm -Uvh dlFedoraprojectorg/pub/epel/epel-release-latest-7noarchrpm
# rpm -Uvh mirrorwebtaticcom/yum/el7/webtatic-releaserpm 黑客安全网
#yum update
Ubuntu
#apt-get install python-software-properties
# add-apt-repository ppa:ondrej/php5
#apt-get update
#apt-get install -y php5 mcrypt php5-mcrypt php5-gd
2) 防火墙安装
电脑系统防火墙和 SELinux 设置对付用于产物应用安全!来说很是重要,,当你操作测试服﹏务器的时候答允封锁防火墙,用以下呼吁行设置 SELinux 成宽容模式(permissive)来担保安装措施不受它们的影响。
#setenforce0
3) Apache, MariaDB, PHP 安装
Laravel 安装措施需要完成安装 LAMP 整个情况,需要特别安装 OpenSSL、PDO,Mbstring 和 Tokenizer 等 PHP 扩展。如果 LAMP 已经运行在你的服﹏务器上你答允跳过这一步,直接确认一些须要的 PHP 插件是否安装好。
要安装完整 AMP 你需要在本身的服﹏务器上运行以下呼吁。
CentOS
#yum install httpd mariadb-server php56w php56w-mysql php56w-mcrypt php56w-dom php56w-mbstring
要在 CentOS 7 上实现 MySQL! / Mariadb 处事开机自动启动,你需要运行以下呼吁。
#systemctl start httpd
#systemctl enable httpd
#systemctl start mysqld
#systemctl enable mysqld
在启动 MariaDB 处事之后,你需要运行以下呼吁配置一个足够安全!的密码。
#mysql_secure_installation
Ubuntu
#apt-get install mysql-server apache2 libapache2-mod-php5 php5-mysql
4) 安装 Composer
在我们安装 Laravel 前,先让我们开始安装 composer。安装 composer 是安装 Laravel 的最重要步调之一,因为 composer 能帮我们安装 Laravel 的各类依赖。
CentOS/Ubuntu
在 CentOS / Ubuntu 下运行以下呼吁来配置 composer 。
# curl -sS getcomposerorg/installer | php
#mv composerphar /usr/local/bin/composer
#chmod+x /usr/local/bin/composer
composer installation
5) 安装 Laravel
我们答允运行以下呼吁从 github 上下载 Laravel 的安装包。
#wget githubcom/laravel/laravel/archive/developzip
运行以下呼吁解压安装包而且移动 document 的根目录。
# unzip developzip
#mv laravel-develop /var/www/
此刻操作 compose 呼吁来安装目录下所有 Laravel 所需要的依赖。
#cd/var/www/laravel-develop/
# composer install
compose laravel
6) 密钥
为了加密服﹏务器,我们操作以下呼吁来生成一个加密后的 32 位的密钥。
# php artisan key:generate
Application key [Lf54qK56s3qDh0ywgf9JdRxO2N0oV9qI]set successfully
此刻把这个密钥放到 'appphp' 文件,如以下所示。
#vim/var/www/laravel-develop/config/appphp
Key encryption
7) 虚拟主_机和所属用户
在 composer 安装好后,分派 document 根目录的权限和所属用户,如下所示。
#chmod775/var/www/laravel-develop/app/storage
#chown-R apache:apache /var/www/laravel-develop
用任意一款编辑器打开 apache 服﹏务器的默认配置文件,在文件最后加上虚拟主_机配置。
#vim/etc/httpd/conf/httpdconf
ServerName laravel-develop
DocumentRoot/var/www/laravel/public
start Directory/var/www/laravel
AllowOverrideAll
Directory close
此刻我们用以下呼吁重启 apache 服﹏务器,打开浏览器检察 localhost 页面。
CentOS
#systemctl restart httpd
Ubuntu
# service apache2 restart
8) Laravel 5 网络会见
打开浏览器然后输入你配置的 IP 地点或者完整域名(Fully qualified domain name)你将会看到 Laravel 5 的默认页面。
Laravel Default
第19章 使用PXE+Kickstart部署无人值守安装
191 无人值守系统
坦白来讲,使用光盘或U盘这种传统物理方式安装系统效率真的很低,尤其当需要批量部署系统时更是明显。
一般的机房设备都会在数百台以上,即便购买了数百张系统光盘,那您也必需对每台设备初始化安装向导,免不了会有选错的参数,更何况如此多的设备没有几天肯定装不完吧。
其实我们可以用PXE+DHCP+TFTP+VSftpd+Kickstart部署出无人值守安装系统,这种系统能够实现自动化运维、避免了重复性劳动,帮助提升工作效率,对于DHCP已经是咱们学习过的了,所以这里就不再多说,小伙伴们如果忘记了可以翻去前面章节复习下。
PXE(Preboot execute environment)是一种能够让计算机通过网络启动的引导方式,只要网卡支持PXE协议即可使用。
Kickstart是一种无人值守的安装方式,工作原理就是预先把原本需要运维人员手工填写的参数保存成一个kscfg文件,当安装过程中出现需要填写参数时则自动匹配Kickstart生成的文件,所以只要Kickstart文件包含了安装过程中所有需要人工填写的参数,那么运维人员就完全不需要干预,等待安装完毕即可。
简单文件传输协议TFTP(Trivial File Transfer Protocol)是一种基于UDP协议的传输协议,其与前面学习的vsftpd服务程序的FTP协议有很大不同,TFTP协议不具备FTP的许多功能(例如列出目录,密码认证等等),但TFTP协议配置非常简单,而且资源消耗更低,非常适合传输不敏感的文件。
出现问题大胆提问!
因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~
Linux技术交流请加A群:560843(满),B群:340829(推荐),C群:463590(推荐),点此查看全国群。
本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。
192 部署相关服务程序
咱们需要依次部署DHCP、TFTP、SYSLinux、VSFtpd与Kickstart服务,在这之前请先准备两台虚拟机并配置好网卡参数:
编辑
主机名称 操作系统 IP地址
无人值守系统 红帽RHEL7操作系统 1921681010
客户端 未安装操作系统 -
并确保您的虚拟机软件自带DHCP服务功能已经关闭:
1921 配置DHCP服务程序
安装dhcpd服务程序:
[root@linuxprobe ~]# yum install dhcp
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
dhcp x86_64 12:425-27el7 rhel7 506 k
………………省略部分安装过程………………
Complete!
配置dhcpd服务程序(将下面的内容复制进去即可,具体参数含义请回顾dhcpd服务章节):
[root@linuxprobe ~]# vim /etc/dhcp/dhcpdconf
allow booting;
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet 192168100 netmask 2552552550 {
option subnet-mask 2552552550;
option domain-name-servers 1921681010;
range dynamic-bootp 19216810100 19216810200;
default-lease-time 21600;
max-lease-time 43200;
next-server 1921681010;
filename "pxelinux0";
}
重启dhcpd服务并添加到开机启动项:
[root@linuxprobe ~]# systemctl restart dhcpd
[root@linuxprobe ~]# systemctl enable dhcpd
ln -s '/usr/lib/systemd/system/dhcpdservice' '/etc/systemd/system/multi-usertargetwants/dhcpdservice'
添加防火墙对dhcpd服务允许的规则:
[root@linuxprobe ~]# firewall-cmd --permanent --add-service=dhcp
success
[root@linuxprobe ~]# firewall-cmd --reload
success
1922 配置TFTP服务程序
安装tftp服务程序:
[root@linuxprobe ~]# yum install tftp-server
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
tftp-server x86_64 52-11el7 rhel7 44 k
Installing for dependencies:
xinetd x86_64 2:2315-12el7 rhel7 128 k
………………省略部分安装过程………………
Complete!
分析vsftpd服务程序时发现,FTP服务器为了随时能够回应客户端的请求必需运行一个长期驻扎在系统中的守护进程,但这样也意味着会有一定的资源浪费,网络守护进程服务程序xinetd便是为了解决资源浪费问题而设计的,因为xinetd服务程序会同时监听多个系统端口,依据客户端请求的端口再转发给指定的服务程序,而tftp便是由xinetd服务程序来管理的。
编辑xinetd配置文件,启动TFTP服务程序:
[root@linuxprobe ~d]# vim /etc/xinetdd/tftp
//将disable的值修改为no。
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/intftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
重启xinetd服务并添加到开机启动项中:
[root@linuxprobe xinetdd]# systemctl restart xinetd
[root@linuxprobe xinetdd]# systemctl enable xinetd
添加防火墙对tftp服务允许的规则:
[root@linuxprobe ~]# firewall-cmd --permanent --add-port=69/udp
success
[root@linuxprobe ~]# firewall-cmd --reload
success
1923 配置SYSLinux服务程序
syslinux是用于提供引导加载的服务程序,目的是简化安装Linux系统的时间,安装syslinux服务程序:
[root@linuxprobe ~]# yum install syslinux
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
syslinux x86_64 405-8el7 rhel7 10 M
………………省略部分安装过程………………
Complete!
将引导相关文件复制到tftp目录以供客户端下载(请确保光盘镜像已挂载到/media/cdrom):
[root@linuxprobe ~]# cd /var/lib/tftpboot
[root@linuxprobe tftpboot]# cp /usr/share/syslinux/pxelinux0
[root@linuxprobe tftpboot]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrdimg}
[root@linuxprobe tftpboot]# cp /media/cdrom/isolinux/{vesamenuc32,bootmsg}
将引导模板文件复制tftp目录:
[root@linuxprobe tftpboot]# mkdir pxelinuxcfg
[root@linuxprobe tftpboot]# cp /media/cdrom/isolinux/isolinuxcfg pxelinuxcfg/default
编辑引导模板文件:
[root@linuxprobe tftpboot]# vim pxelinuxcfg/default
//将第1行修改为:
default linux
//将第64行修改为:
append initrd=initrdimg inststage2=ftp://1921681010 ks=ftp://1921681010/pub/kscfg quiet
//将第70行修改为:
append initrd=initrdimg inststage2=ftp://1921681010 rdlivecheck ks=ftp://1921681010/pub/kscfg quiet
1924 配置VSFtpd服务程序
安装vsftpd服务程序:
[root@linuxprobe ~]# yum install vsftpd
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
vsftpd x86_64 302-9el7 rhel7 166 k
………………省略部分安装过程………………
Complete!
重启vsftpd服务程序并添加到开机启动项:
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpdservice' '/etc/systemd/system/multi-usertargetwants/vsftpdservice'
添加防火墙对vsftpd服务允许的规则:
[root@linuxprobe ~]# firewall-cmd --permanent --add-service=ftp
success
[root@linuxprobe ~]# firewall-cmd --reload
success
将光盘镜像文件的内容复制到FTP目录中(请先确保您的光盘已经挂载到/media/cdrom目录):
[root@linuxprobe ~]# cp -r /media/cdrom/ /var/ftp
设置SELinux对于FTP协议的允许策略:
[root@linuxprobe ~]# setsebool -P ftpd_connect_all_unreserved=on
1924 创建KickStart应答文件
复制一份应答文件模板并给于权限:
[root@linuxprobe ~]# cp ~/anaconda-kscfg /var/ftp/pub/kscfg
[root@linuxprobe ~]# chmod +r /var/ftp/pub/kscfg
看下《linux就该这么学》里面有网络安装的教程。。
编辑模板文件:
[root@linuxprobe ~]# vim /var/ftp/pub/kscfg
//将第6行的cdrom修改为:
url --url=ftp://1921681010
//将第21行的时区修改为:
timezone Asia/Shanghai --isUtc
//将第28行修改为:
clearpart --all --initlabel
0条评论