下载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. 乒乓球队比赛,甲队有abc三人,乙队有xyz三人。 抽签得出比赛名单:a不和x比,c不和x,z比, 利用集合求出比赛名单

    import java.util.HashMap; import java.util.Map; /** * 乒乓球队比赛,甲队有abc三人,乙队有xyz三人. * 抽签得出比赛名单:a不和x比,c不和 ...

  2. 【Spring专场】「MVC容器」不看源码就带你认识核心流程以及运作原理

    前提回顾 之前已经写了很多问斩针对于SpringMVC的的执行原理和核心流程,在此再进行冗余介绍就没有任何意义了,所以我们主要考虑的就是针对于SpringMVC还没但大框架有介绍的相关内容解析分析和说 ...

  3. python 读取配置文件ini ---ConfigParser

    Python读取ini文件需要用到 ConfigParser 模块 关于ConfigParser模块的介绍详情请参照官网解释:https://docs.python.org/2.7/library/c ...

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

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

  5. 个人作业2-6.4-Python爬取顶会信息

    1.个人作业2 数据爬取阶段 import requestsfrom lxml import etreeimport pymysqldef getdata(url): # 请求CVPR主页 page_ ...

  6. C#进阶——记一次USB HID的各种坑(x86,x64,win10,win7)

    一.简叙 写工控上位机的搬砖人,难免会遇到USB通讯,在一个项目中,我写的上位机使用USB HID协议和STM32通讯传输数据,从零大概花了几天找例程,找资料,最后是各种搬砖修补,终于出来了一个出版D ...

  7. DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ | TRAINING A CLASSIFIER

    你已经知道怎样定义神经网络,计算损失和更新网络权重.现在你可能会想, 那么,数据呢? 通常,当你需要解决有关图像.文本或音频数据的问题,你可以使用python标准库加载数据并转换为numpy arra ...

  8. golang中的配置管理库viper

    viper简介 Viper是适用于Go应用程序的完整配置解决方案.它旨在在应用程序中工作,并且可以处理所有类型的配置需求和格式.它支持: 设置默认值 从JSON,TOML,YAML,HCL,envfi ...

  9. gin框架中的数据解析与绑定

    Json数据解析与绑定 客户端传参,后端接收并解析到结构体 func Login(context *gin.Context) { // 声明接收的变量 var login LoginJson // 将 ...

  10. java匿名内部类概述

    1 package face_09; 2 /* 3 * 匿名内部类.就是内部类的简写格式. 4 * 必须有前提: 5 * 内部类必须继承或者实现一个外部类或者接口. 6 * 匿名内部类:其实就是一个匿 ...