如今随着计算机和互联网技术的发展,上网现在已经不再是什么难事,打开浏览器,我们可以访问各种论坛站点,比如CSDN、博客园等,各种视频网站,例如爱奇艺,B站等。在网上我们可以写文章,看视频,购物,打游戏,聊天等等,但是是否,你也曾思考过,这些东西是怎么做出来的,做这些东西需要掌握的知识多吗?普通人能做吗?经过一番摸索终于搞懂了这么一套流程,目前开源的项目越来越多,也让许多的新手也能够借助这些资源搭建属于自己的Web服务站点。
  目前搭建Web服务器的方式有很多种,其中有一种组合叫做LAMP,即Linux系统+Apache服务器+MySQL+PHP。下面将记录我是如何在Linux系统下面搭建属于我们自己的Web服务器,后续将陆续整理如何在我们自己搭建的Web服务器平台上搭建我们的个人网站,社区论坛,兴趣社团等等有意思的项目。

【第一步】安装Linux系统
  Linux系统是开源的,可以免费下载安装使用,准确的说,Linux是一种内核,而基于这种内核的操作系统有Ubuntu、Redhat、Centos、Fedora等。基于习惯,我们把这些操作系统统称为Linux系统。
  备注:以上观点纯属个人理解
  安装Linux系统的方法有两种:
  一:更换电脑操作系统或者安装双系统  -> 参考教程:安装Ubuntu系统--百度经验
  二:安装VMware虚拟机,并在虚拟机中安装Ubuntu系统
【第二步】安装Apache服务器
进入Ubuntu系统,快捷键Ctrl+Alt+T打开终端,输入指令
  ① 更新资源包
    sudo apt update
  ② 更新软件
    sudo apt upgrade
  ③ 更新系统软件
    sudo apt dist-upgrade
  ④ 安装Apache服务器
    apt install apache2
  碰到继续执行吗?[Y/n] 输入y,然后按回车即可。
  等待安装完成即可,这是你看到的界面很炫酷,有种黑客的感觉。
  备注:操作Apache服务器相关指令
  检查服务器状态:systenctl status apache2
  开启服务器:systemctl start apache2 或者 sudo /etc/init.d/apache2 start
  关闭服务器:systemctl stop apache2 或者 sudo /etc/init.d/apache2 stop
  重启服务器:systemctl restart apache2 或者sudo /etc/init.d/apache2 restart
  ★☆测试
  打开浏览器,在你的主机上输入你的IP地址,或者输入127.0.0.1或者输入localhost,这是一回事。不出意外将会出现Apache2 Ubuntu Default Page,即Apache2 Ubuntu默认页面。

  深入研究,这个页面其实是一个html页面,在终端中寻找这个文件可输入指令:sudo find / -name index.html
  默认这个文件是放在/var/www/html文件夹下的。也就是说如果我们要搭建自己的网站,只需要将我们网站的其实页面命名为index.html并放在这个文件夹下即可。当然这个是相应的配置文件中进行更改的。
  至此,Apache服务器安装教程结束。

【第三步】安装MySQL数据库
  ① 安装之前先查看你的ubuntu系统有没有安装mysql数据库
    dpkg -l | grep mysql
  如果系统已经安装mysql数据库则会出现下面提示信息

  ② 安装数据库
    apt install mysql-server
  同样碰到继续执行吗?[Y/n] 输入y,然后按回车即可。
  接下来就是一样的,等待就可以了。
  ③ 检查数据库是否安装成功
    netstat -tap | grep mysql
  如果出现以下提示信息,则表示数据库安装成功

备注:操作数据库相关指令
  可参考博客园文章 -> Ubuntu18.04下安装MySQL
【第四步】安装PHP
  PHP添加了支持动态网页的服务器网页处理功能,是一种常见的写后端的语言,这种语言的特点是入门容易精通难,各位打算学习PHP的小伙伴做好心理准备。
  ① 安装PHP
    sudo install php
  同样碰到继续执行吗?[Y/n] 输入y,然后按回车即可。
  接下来就是一样的,等待就可以了。
  ② 查看PHP版本指令
    php -v
  ③ 在/var/www/html文件夹下新建一个文件,命名为index.php
    sudo nano /var/www/html/index.php
  ④ 在里面写入如下代码
    <?php
      phpinfo();
    ?>
  ⑤ 按Ctrl+o -> 回车保存 -> Ctrl+x 退出
  打开浏览器,在地址栏输入IP地址/index.php或者输入127.0.0.1/index.php或者输入localhost/index.php
  不出特殊情况,你将看到PHP的默认信息页面。

【第五步】选择安装模组和软件
  上述四步就已经搭建后Web服务器了,已经有一个基础了,现在就可以大展身手了。
  ☆★phpMyAdmin的安装和使用
    apt install phpmyadmin
  同样碰到继续执行吗?[Y/n] 输入y,然后按回车即可。
  接下来就是一样的,等待就可以了。
  后面会出现一些选择框,依次选择
  Apache2 -> 是 -> 设定密码
  完成后在浏览器中输入:IP地址/phpmyadmin,不出意外将出现下面的界面。

  完成,这样就可以以图形化的界面管理我们的数据库数据了!

  至此,我们的Web服务器就基本搭建好啦,我们可以再Linux系统的HTML文件夹里搭建我们自己的站点啦,后期我们可以完善我们的网站,加上各种各样的小工具,然后申请一个IP和域名,这样我们就可以随时随地访问我们的站点,非常的方便。

  温馨提醒:请找个地方专门记录一下数据库的账号密码,如果遗忘会是一件非常令人头疼的事情!

如何搭建属于自己的Web服务器的更多相关文章

  1. 利用 nodeJS 搭建一个简单的Web服务器(转)

    下面的代码演示如何利用 nodeJS 搭建一个简单的Web服务器: 1. 文件 WebServer.js: //-------------------------------------------- ...

  2. Ubuntu下利用Mono,Jexus搭建Asp.Net(MVC) Web服务器

    最近在Ubuntu上搭建了Asp.Net的Web服务器,其中遇到很多问题,整理一下思路,以备后用. 搭建环境以及配套软件 Ubuntu: 11.10 Mono:3.0.6 下载地址(http://do ...

  3. windows下搭建属于自己的web服务器

    这次需要记录一下我搭建web服务器的过程. 第一步,确定自己要使用的平台:这次我用的是windows2008 server版本 第二步,计划是想要纯手工的安装apache.php等.但是我们可以下载一 ...

  4. nginx系列3:搭建一个静态资源web服务器

    搭建静态资源web服务器 1,创建静态页面 在nginx的安装目录(/usr/local/nginx)下创建文件夹webapplications/helloworld,然后创建一个名为index.ht ...

  5. windows无法访问vmware搭建好虚拟机linux web服务器

    [前置条件] vmware搭建好虚拟机web服务器 ,但是本机就是无法访问的解决办法. linux虚拟机的网络选择Bridged 桥接到本机网卡. 具体情况如下 : 1.本机能ping通虚拟机 2.虚 ...

  6. 树莓派搭建基于flask的web服务器-通过移动端控制LED

    1.概述 在局域网内,基于flask搭建web服务,从而可以使用移动客户端访问该web服务.由于是flask新手,所以本次实现的web服务功能较为简单,即控制LED灯的开/关及闪烁. 2.准备工作 2 ...

  7. nodejs基础 用http模块 搭建一个简单的web服务器 响应JSON、html

    前端在开发中,大多会想浏览器获取json数据,下面来用nodejs中的http模块搭建一个返回json数据的服务器 var http = require("http"); var ...

  8. nodejs基础 用http模块 搭建一个简单的web服务器 响应纯文本

    首先说一下,我们平时在浏览器上访问网页,所看到的内容,其实是web服务器传过来的,比如我们访问www.baidu.com.当我们在浏览器地址栏输入之后,浏览器会发送请求到web服务器,然后web服务器 ...

  9. Android设备上i-jetty环境的搭建-手机上的web服务器

    本文主要跟大家分享如何将一台Android设备打造成一个web服务器使用. 编译i-jetty 1.将源码download下来,http://code.google.com/p/i-jetty/dow ...

随机推荐

  1. 深入浅出14个Java并发容器

    前言 不考虑多线程并发的情况下,容器类一般使用ArrayList.HashMap等线程不安全的类,效率更高.在并发场景下,常会用到ConcurrentHashMap.ArrayBlockingQueu ...

  2. netty源码解析(4.0)-27 ByteBuf内存池:PoolArena-PoolThreadCache

    前面两章分析的PoolChunk和PoolSubpage,从功能上来说已经可以直接拿来用了.但直接使用这个两个类管理内存在高频分配/释放内存场景下会有性能问题,PoolChunk分配内存时算法复杂度最 ...

  3. R3环申请内存时页面保护与_MMVAD_FLAGS.Protection位的对应关系

    Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 技术学习来源:火哥(QQ:471194425) R3环申请内存时页 ...

  4. CronExpression表达式详解和案例

    1. cron表达式格式: {秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)} 2. cron表达式各占位符解释: {秒数} ==> 允许值范围: 0~59 ,不允许 ...

  5. linux watch 命令使用;进行循环执行程序,并显示结果;

    watch 能间歇地执行程序,并将输出结果以全屏的方式显示,默认时2s执行一次: watch -n 5 ping -c 1 www.baidu.com # 进行循环5秒钟,发送一次ping包: 使用范 ...

  6. Tornado之接口调用时方式执行顺序

    Tornado之接口调用顺序 initialize() 作用:做一些初始化操作 prepare() 作用:预处理方法,在执行对应的请求方法之前调用 注意:任何一种HTTP请求,都会执行prepare方 ...

  7. ElasticSearch7 设置外网访问失败

    elasticsearch外网访问9200端口失败,bootstrap checks failed,the default discovery settings are unsuitable for ...

  8. Python语法速查: 2. 列表、元组、字典、集合操作

    返回目录 (1)通用序列操作 “序列”表示索引为非负整数的有序对象集合,列表.元组.字符串都属于序列.区别在于:列表是可变的,而元组和字符串是不可变的.序列的通用操作他们都可以用. 操作或方法 简述 ...

  9. 个人的一点小愚见,java有什么优点和缺点

    java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的.可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏. j ...

  10. 实操《kubernetes网络权威指南》之veth pair

    https://book.douban.com/subject/34855927/ 作者: 杜军 出版社: 电子工业出版社出品方: 博文视点出版年: 2019-10页数: 348定价: 89ISBN: ...