下载CentOS镜像

下载网址:阿里云镜像

选择版本(这里我使用的7)



选择isos/



选择Minimal.iso,这个版本是最小镜像安装:没有图像界面 只有命令行

将CentOS安装到VM16中

注:网络适配器选择NAT,其他的自定义即可

1. 进入虚拟机后出现以下界面

  • Install CentOS 7 安装CentOS 7
  • Test this media & install CentOS 7 测试安装文件并安装CentOS 7
  • Troubleshooting 修复故障

    选择第一项直接安装即可

2. 选择安装过程中使用的语言,这里选择英文、键盘选择美式键盘。点击Continue



首先设置时间



时区选择上海,查看时间是否正确。然后点击Done

3. 选择安装位置,在这里可以进行磁盘划分。



选择i wil configure partitioning(我将会配置分区),然后点击done



如下图所示,点击加号,选择/boot,给boot分区分200M。最后点击Add



然后以同样的办法给其他三个区分配好空间后点击Done



然后会弹出摘要信息,点击AcceptChanges(接受更改)

4. 设置主机名与网卡信息



首先要打开网卡,然后查看是否能获取到IP地址(我这里是桥接),再更改主机名后点击Done。

4. 最后选择Begin Installation(开始安装)



设置root密码



设置root密码后点击Done



点击USER CREATION 创建管理员用户



输入用户名密码后点击Done



等待系统安装完毕重启系统即可

配置CentOS

输入ROOT账户和密码登录

设置虚拟机NAT上网

cd /etc/sysconfig/network-scripts/
ls



编辑 ifcfg-enXXX 这个文件 文件名可能不同

vi ifcfg-ens33

设置BOOTPROTO=dhcp,ONBOOT=yes



重启一下网络服务 service network restart 即可上网,测试ping www.baidu.com

安装Nginx服务器

  1. 配置yum源,在/etc/yun.repos.d/新建nginx.repo文件
vim /etc/yum.repos.d/nginx.repo
  1. 在nginx.repo输入以下内容
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
  1. 安装
yum -y install nginx
  1. 启动服务器
systemctl start nginx

允许80端口的访问

  1. 查看防火墙是否开启
systemctl status firewalld
  1. 若没有开启则开启
systemctl start firewalld  关闭则start改为stop
  1. 查看所有开启的端口
firewall-cmd --list-ports

注:启动防火墙后,默认没有开启任何端口,需要手动开启端口

4. 防火墙开启端口访问

firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效

注:开启后需要重启防火墙才生效

【重启命令】:

firewall-cmd --reload
  1. 再执行 firewall-cmd --list-ports查看一次,则发现已开启:

其他常用命令

firewall-cmd --state                          ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
firewall-cmd --remove-port=80/tcp --permanent ##永久移除80端口
firewall-cmd --zone=public --list-ports ##查看已开放的端口 iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd

在外面主机访问虚拟机的IP地址就好了

  1. ip addr 查看虚拟机IP地址

  2. 浏览器访问虚拟机IP地址

虚拟机搭建web服务器的更多相关文章

  1. 手把手教你搭建WEB服务器和FTP服务器

    注:本次教程的环境是在“Windows 10 PC中远程控制的Windows Server 2012 R2服务器”,你可以自己在自己电脑中安装虚拟机再安装Windows Server 2012 R2服 ...

  2. 在Win7系统中搭建Web服务器

    局 域网Web服务器的主要功能是实现资源共享,同时借助于局域网服务器访问页面可有效的实现信息的同步.利用Web服务器,我们随时随地都可以将自己的信息 上传到服务器端,让其它关注你的用户能在第一时间内了 ...

  3. 轻松使用Nginx搭建web服务器

    如果读者以前做过web开发的话,就应该知道如何去搭建一个web服务器来跑你的web站点,在windows下你可能会选择去用IIS,十分的快捷,在linux下,你可能首先会想到apache,“一哥”( ...

  4. 用tomcat搭建web服务器

    链接地址:http://www.blogjava.net/qingshow/archive/2010/01/17/309846.html qingshow “不积跬步无以至千里,不积小流无以成江海”. ...

  5. NodeMCU入门(4):搭建Web服务器,配置网络连接

    准备工作 1.NodeMCU模块 2.ESPlorer v0.2.0-rc6 3.NodeMCU-HTTP-Server 搭建web服务器 下载https://github.com/wangzexi/ ...

  6. CentOS 6.2下搭建Web服务器

    1Centos 6.2下搭建web服务器 如今,Linux在Web应用越来越广,许多企业都采用Linux来搭建Web服务器,这样即节省了购买正版软件的费用,而且还能够提高服务器的安全性. 之前我们介绍 ...

  7. Python搭建Web服务器,与Ajax交互,接收处理Get和Post请求的简易结构

    用python搭建web服务器,与ajax交互,接收处理Get和Post请求:简单实用,没有用框架,适用于简单需求,更多功能可进行扩展. python有自带模块BaseHTTPServer.CGIHT ...

  8. 虚拟机搭建Zookeeper服务器集群完整笔记

    虚拟机搭建Zookeeper服务器集群完整笔记 本笔记主要记录自己搭建Zookeeper服务器的全过程,默认已经安装部署好Centos7. 一.虚拟机下Centos无法联网解决方案 1.首先调整虚拟机 ...

  9. 使用 Node.js 搭建 Web 服务器

    使用Node.js搭建Web服务器是学习Node.js比较全面的入门教程,因为实现Web服务器需要用到几个比较重要的模块:http模块.文件系统.url解析模块.路径解析模块.以及301重定向技术等, ...

随机推荐

  1. 日志收集系统系列(三)之LogAgent

    一.什么是LogAhent 类似于在linux下通过tail的方法读日志文件,将读取的内容发给kafka,这里的tailf是可以动态变化的,当配置文件发生变化时,可以通知我们程序自动增加需要增加的配置 ...

  2. 下载并搭建maven环境

    1.下载maven 1.在官网下载maven  http://maven.apache.org/download.cgi 2.将下载maven解压.复制路径. 2.搭建maven环境 1.新建M2_H ...

  3. 百度地图BMap实现在行政区域内做标注

    使用环境 vue bmap.js element-ui 页面展示 前提步骤 在index中引入百度地图提供的js库 在使用的vue页面中实例化地图 <!-- 给id随便起给名字 --> & ...

  4. 面试官: Flink双流JOIN了解吗? 简单说说其实现原理

    摘要:今天和大家聊聊Flink双流Join问题.这是一个高频面试点,也是工作中常遇到的一种真实场景. 本文分享自华为云社区<万字直通面试:Flink双流JOIN>,作者:大数据兵工厂 . ...

  5. Android一句话 | View事件分发

    View中,无论是down,move,还是up,事件都是这样传递的:由dispatchTouchEvent到onTouch,再到onTouchEvent,click是在onTouchEvent中的. ...

  6. Git命令中波浪号~与脱字符^的区别

    0.前言 波浪号~,英文名叫 tilde.脱字符^,英文名叫caret. 这两种符号常见于git reset的情景,简单的项目结构和操作一般不会涉及到两者之间的区别,似乎用哪个都可以.如果遇到比较繁杂 ...

  7. 【记录一个问题】opencv中使用UMat类,在析构的时候出现refcount == 0的断言错误

    发生coredump时的错误信息如下: terminate called after throwing an instance of 'cv::Exception' what(): OpenCV(4. ...

  8. JavaScript获取URL参数方法总汇

    现在做页面基本都用AJAX,因此导致操作很麻烦,每次都需要通过JS获取url中的参数值,网上所搜到很多资料,没一次能记住的,也不知道在哪个项目中使用过,现在又需要通过JS获取url参数,因此不能在偷懒 ...

  9. React教程

    教程 一.demo <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> &l ...

  10. golang中结构体指针的应用

    package main import ( "fmt" ) type School struct { brand string city string } type Class s ...