怎么把服务器操作系统从Ubuntu改成CentOS

如果要把服务器操作系统由Ubuntu改为CentOS、另外将WEB容器Apache改为Nginx,这就涉及了两方面的工作,即:系统迁移、应用程序迁移,这两方面涉及的工作各有重点,主要有以下:1、服务器操作系统更换由于Ubuntu和CentOS都是Linux发行版本,两者差异化并不大,所以这方面程序移植是没问题的,我们要做的就是:统计Ubuntu服务器上哪些软件包是必须安装的,然后在CentOS上一样安装上,避免迁移后运行程序缺少依懒;
数据备份,如:网站程序、应用程序、数据库备份、必要的日志文件等;
统计定时任务清单,要清楚哪些任务是要定时自动执行的;
确认开机启动程序/服务有哪些;
统计服务器上的用户和群组,另外要清楚知道服务器上目录权限的划分;
2、WEB容器迁移由于Apache和Nginx配置不同,所以迁移前要做好确认,主要注意事项是:站点配置的方法不同;
URL Rewrite设置不同;
考虑到Nginx是专业的代理服务器,所以我们建议迁移后依旧由Apache做为WEB容器,前面加上Nginx作为前端代理,这种模式更能适应高流量站点。
综上,服务器操作系统换成CentOS是非常正确的选择,而WEB容器这块建议是 Nginx+Apache这种模式。
以上就是我的观点,我是科技领域创作者,十年互联网从业经验,
首先我分解下的问题,针对分解后的2个问题逐一进行详细的回答,那么拆解后的2个问题分别是:操作系统的迁移:从Ubuntu迁移到CentOS;Web容器的迁移:Apache迁移到Nginx;
操作系统迁移第一点操作系统从Ubuntu迁移到CentOS,这一点可以很顺利的迁移,因为Ubuntu和CentOS都是基于Linux的发行版本,底层系统原理大同小异,可以无缝迁移,但还是需要注意迁移的项目用到的操作系统功能,比如如果用了系统的防火墙功能、iptable用户黑白名单和访问拦截功能、crontab功能、安装插件、软件源仓库等等,这些配置项需要格外注意,因为系统间的差异是存在的,需要根据系统来适配最好的配置,但我强烈推荐使用CentOS做完服务器,下面是二者的详细不同点:服务器迁移相对于第一点的服务器迁移,Apache迁移到Nginx就是个大工程了,因为二者的技术架构完全不同,配置规则也大不相同,所以在迁移过程中一定要仔细地把Apache的配置都用Nginx的方式重新配置一边,而且一定要经过全面的测试,针对每个url,每个接口都要测试到才能正式替换。
其实Apache和Nginx不存在谁替换谁的问题,他们各有所长,而且一般项目中都是前端nginx 抗并发,后端 apache 集群抗压,这样混合着用更能提供整个服务的健壮性和可靠性。
Apache拥有丰富的模块组件支持,稳定性强,BUG少,动态内容处理强。
Nginx轻量级,占用资源少,负载均衡,高并发处理强,静态内容处理高效。
综上,在迁移服务器的时候,一定要好好学习下Nginx的配置规则,确保把Apache的配置完整的迁移过来,而且一定要全面回滚的测试,要对上线的功能存在敬畏心,相信我,这都是作为一个过来人对你的真诚的忠告,如果有什么想法欢迎留言讨论。

参考:
我觉得你该准备准备辞职吧!CentOS项目都已经由LTS改成了Stream,也就是说CentOS已经宣布LTS到期后死亡了,你还准备从Ubuntu切换到CentOS,自己找抽还是给客户找茬呢,迁移完记得赶紧跑路,不然出问题吃不了兜着走。
再说上Nginx,直接弄台前置服务器装个Nginx反代不就完事了,原来的服务器通通丢到内网防火墙隔离开就行,没事千万别换运行环境,祖传代码和运行环境的各种依赖版本兼容能不动就不动!
参考:
1、就目前来说,ubuntu 和 centos 操作系统都比较稳定,我公司也有很多产品跑在 ubuntu 上,也没见出现过什么问题。
所以选择 ubuntu 还是 centos 完全是看个人的想法,熟悉哪个就用那个便是。
ubuntu 使用 apt-get 管理包,对非专业的系统管理员更加友好些,因为它可以在使用未安装的命令时给出安装提示;
centos 使用 yum 或 rpm 管理包,是开源主流的服务器选择对象。
2、涉及迁移问题,思想很简单,先备份数据和应用程序。
作为运维人员,最稳妥的做法预先先做好安全备份,不然误操作的话,就要准备好跑路了,哈哈。
3、在 centos 上安装相同版本的所需软件,比如 PHP、MySQL等,如果确认版本不会影响应用程序的运行,可以安装最新版本即可。
Nginx 是一个开源轻量大并发的代理中间件,处理静态资源的效率很高,反向代理;
Apache 在处理动态请求上比 nginx 有优势,rewrite 强大,模块多。
4、方案:1). 直接使用 Nginx ----> PHP,配置好 location即可;
2). Nginx + Apache ----> PHP,nginx proxy apache,让 apache 去处理 PHP。
但只要资源给够,使用方案1就已经足够。
5、安装好需要先调式,调式通过后,恢复数据,测试验收,最后开放上线。

参考:
如果是稳定运行的生产环境建议你不要去动它,改造过程往往会遇到各种预想不到的问题。
如果一定要改,建议你先用centos装一个虚拟机,把生产环境中的数据文件拷过来,看你的应用应该是WEB目录和数据库。
当调试到虚拟机能和生产环境一模一样工作。
再三确认数据都已经备份。
然后才开始更换服务器操作系统。
仍然建议你用一块全新的硬盘安装centos,老的硬盘不要格掉,硬盘有价,数据无价!
参考:
你需要准备三样东西,第一个是有领导签字的执行单、第二是集成商和应用商的维保合同、第三是集成商和应用商的技术人员。

参考:
弱弱地问一句,大家在答题之前,都不看题的描述吗?
解功能 Ubuntu->CentOS, Apache->Nginx。
换操作系统,这个真的是考虑的因素太多太多。
而贴出的图片,是Dockerfile。
那么指的是Docker镜像迁移吗。
我们不说物理机,或云服务器的操作系统迁移了。
说说docker镜像的切换。
ADD src /var/www程序文件放置在Dockerfile文件夹下。
将其拷贝到镜像的/var/www目录下。
其他的软件包使用 yum -y install 安装。
下面的ENV是配置APACHE需要的额系统用户,和修改相关目录的属主属组EXPOSE 80容易暴露80端口对外提供访问。
最末一句,开始apache服务。
Docker搭建LNMP环境那么,你的docker镜像运行的是微服务吗?
那么我们只要定制一个docker镜像就OK了。
下面我们尝试按照给定的环境,搭建一个同等版本的的centos + php5 + nginx的docker镜像。
为了版本一直,docker内的软件包,可以使用yum指定同版本号安装。
或者,使用源码编译安装,保持与原系统的一致即可。
Dockerfile内容如下:FROM centos:7ENV TIME_ZOME Asia/ShanghaiRUN rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm RUN yum -y install nginxRUN yum -y install git curl php5 php5-mcrypt php5-mysqlCOPY nginx.conf /usr/local/nginx/conf/WORKDIR /usr/local/nginx/EXPOSE 80CMD ["./sbin/nginx","-g","daemon off;"]上述文件内 /sbin/nginx -g使用了daemon off参数关闭nginx以守护进程方式运行,是为了防止docker启动后,以容器内第一个进程pid=1作为容器是否运行的判断条件。
如果nginx pid=1第一个启动,那么nginx挂了,我们没必要让docker也重启。
为了省去每次在docker内配置nginx的麻烦,将其配置文件单独拿出来。
COPY nginx.conf /usr/local/nginx/conf/这一句就是把处于镜像之外的目录下nginx.conf文件拷贝到镜像内nginx配置文件目录。
Nginx的关键配置项:server }总结上述的类似dockerfile可以使用docker工具编译构建一下,然后做一下测试。
以上。
希望没跑题。
[逃]
参考:
您好,我是一名互联网开发工程师,同时也是vlog领域创作者,
3、nginx反向代理对多网站(虚拟机主机)的支持极佳。
步骤如下:先把apache、数据库相关数据备份,然后更换操作系统,centos最好使用7版本的,考虑以后程序依赖内核的问题,然后把apache相关数据还原回去。
另外,我的建议是,在apache前段加一个nginx即可,直接使用反向代理,如果你apache使用php等动态网站,没必须花大量的时候去折腾更换网站架构。
nginx也要使用最新版的,避免老版本的漏洞问题使用nginx反向代理的好处就是,以后网站集群扩容,增加新的网站、二级域名是很方便的,而且不需要做很大的改动。
架构图如下:
楼主需要准备什么呢首先,服务器以前的操作系统需要备份,数据的备份,apache的备份,防止以后的查找。
其次,就是准备新系统的镜像,也就是centos的镜像,Nginx的安装包,还有数据库等一系列资源。
再次,确定你会安装这些软件和配置,服务器系统不要轻易的更改,后期遇见的问题,不是你可以想象的,各种问题。