如何搭建属于自己的Web服务器
如今随着计算机和互联网技术的发展,上网现在已经不再是什么难事,打开浏览器,我们可以访问各种论坛站点,比如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服务器的更多相关文章
- 利用 nodeJS 搭建一个简单的Web服务器(转)
下面的代码演示如何利用 nodeJS 搭建一个简单的Web服务器: 1. 文件 WebServer.js: //-------------------------------------------- ...
- Ubuntu下利用Mono,Jexus搭建Asp.Net(MVC) Web服务器
最近在Ubuntu上搭建了Asp.Net的Web服务器,其中遇到很多问题,整理一下思路,以备后用. 搭建环境以及配套软件 Ubuntu: 11.10 Mono:3.0.6 下载地址(http://do ...
- windows下搭建属于自己的web服务器
这次需要记录一下我搭建web服务器的过程. 第一步,确定自己要使用的平台:这次我用的是windows2008 server版本 第二步,计划是想要纯手工的安装apache.php等.但是我们可以下载一 ...
- nginx系列3:搭建一个静态资源web服务器
搭建静态资源web服务器 1,创建静态页面 在nginx的安装目录(/usr/local/nginx)下创建文件夹webapplications/helloworld,然后创建一个名为index.ht ...
- windows无法访问vmware搭建好虚拟机linux web服务器
[前置条件] vmware搭建好虚拟机web服务器 ,但是本机就是无法访问的解决办法. linux虚拟机的网络选择Bridged 桥接到本机网卡. 具体情况如下 : 1.本机能ping通虚拟机 2.虚 ...
- 树莓派搭建基于flask的web服务器-通过移动端控制LED
1.概述 在局域网内,基于flask搭建web服务,从而可以使用移动客户端访问该web服务.由于是flask新手,所以本次实现的web服务功能较为简单,即控制LED灯的开/关及闪烁. 2.准备工作 2 ...
- nodejs基础 用http模块 搭建一个简单的web服务器 响应JSON、html
前端在开发中,大多会想浏览器获取json数据,下面来用nodejs中的http模块搭建一个返回json数据的服务器 var http = require("http"); var ...
- nodejs基础 用http模块 搭建一个简单的web服务器 响应纯文本
首先说一下,我们平时在浏览器上访问网页,所看到的内容,其实是web服务器传过来的,比如我们访问www.baidu.com.当我们在浏览器地址栏输入之后,浏览器会发送请求到web服务器,然后web服务器 ...
- Android设备上i-jetty环境的搭建-手机上的web服务器
本文主要跟大家分享如何将一台Android设备打造成一个web服务器使用. 编译i-jetty 1.将源码download下来,http://code.google.com/p/i-jetty/dow ...
随机推荐
- 深入浅出14个Java并发容器
前言 不考虑多线程并发的情况下,容器类一般使用ArrayList.HashMap等线程不安全的类,效率更高.在并发场景下,常会用到ConcurrentHashMap.ArrayBlockingQueu ...
- netty源码解析(4.0)-27 ByteBuf内存池:PoolArena-PoolThreadCache
前面两章分析的PoolChunk和PoolSubpage,从功能上来说已经可以直接拿来用了.但直接使用这个两个类管理内存在高频分配/释放内存场景下会有性能问题,PoolChunk分配内存时算法复杂度最 ...
- R3环申请内存时页面保护与_MMVAD_FLAGS.Protection位的对应关系
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 技术学习来源:火哥(QQ:471194425) R3环申请内存时页 ...
- CronExpression表达式详解和案例
1. cron表达式格式: {秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)} 2. cron表达式各占位符解释: {秒数} ==> 允许值范围: 0~59 ,不允许 ...
- linux watch 命令使用;进行循环执行程序,并显示结果;
watch 能间歇地执行程序,并将输出结果以全屏的方式显示,默认时2s执行一次: watch -n 5 ping -c 1 www.baidu.com # 进行循环5秒钟,发送一次ping包: 使用范 ...
- Tornado之接口调用时方式执行顺序
Tornado之接口调用顺序 initialize() 作用:做一些初始化操作 prepare() 作用:预处理方法,在执行对应的请求方法之前调用 注意:任何一种HTTP请求,都会执行prepare方 ...
- ElasticSearch7 设置外网访问失败
elasticsearch外网访问9200端口失败,bootstrap checks failed,the default discovery settings are unsuitable for ...
- Python语法速查: 2. 列表、元组、字典、集合操作
返回目录 (1)通用序列操作 “序列”表示索引为非负整数的有序对象集合,列表.元组.字符串都属于序列.区别在于:列表是可变的,而元组和字符串是不可变的.序列的通用操作他们都可以用. 操作或方法 简述 ...
- 个人的一点小愚见,java有什么优点和缺点
java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的.可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏. j ...
- 实操《kubernetes网络权威指南》之veth pair
https://book.douban.com/subject/34855927/ 作者: 杜军 出版社: 电子工业出版社出品方: 博文视点出版年: 2019-10页数: 348定价: 89ISBN: ...