如何搭建属于自己的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 ...
随机推荐
- Linux下离线安装python项目的依赖包
第一步新建一个site-packages文件夹,把python项目有需要的依赖包名称导出到site-packages下的requirements.txt中 $ pip3 freeze > req ...
- Failed to execute ‘createObjectURL’ on ‘URL’: No function was found that matched the signature provided.
这个报错是因为在浏览器上开启了手机模拟调试.Web SDK 不支持手机模拟调试的.
- 深入requests库params|data|json参数
深入requests库params|data|json参数 一.params params:字典或者字节序列,作为参数增加到URL中.不仅访问URL,还可以向服务器携带参数. 简单来讲也就是说对于原来 ...
- git如何合并远程2个分支
1,先检出项目到一个文件夹git clone 2,你检出的项目默认是master,所以现在要查看远程全部分支git branch -a * master remotes/origin/HEAD -&g ...
- JS 错误
JS 错误 try 语句测试代码块的错误. catch 语句处理错误. throw 语句创建自定义错误. 错误一定会发生 当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错 ...
- 个人项目-WC(C/C++ 兼容Linux和Windows)
一.Github地址 https://github.com/S-TRAVELER/WC 实现的功能: 支持 -c 支持 -w 支持 -l 支持 -s 支持 -a 图形界面 多参数(文件名或通配符表达式 ...
- 记录SqlServer安装后局域网无法连接
,如果安装的时候 已经选择 “混合模式(SQL Server 身份验证和Windows 身份验证)(M)”, 并且已经为 SQL Server 系统管理员分配了账户和密码 则不用重新配置. 配置方法如 ...
- DataPump遭遇ORA-06512&ORA-39080&ORA-01403错误案例
最近使用数据泵(DataPump)比较多,遇到了奇奇怪怪的问题,似乎Apply了补丁PSU 10.2.0.5.180717后,DataPump的问题就格外多.如下所示: expdp system/xx ...
- oracle常用查询sql
oracle常用查询sql 原创 gordon陈 发布于2018-05-10 22:32:18 阅读数 297 收藏 展开 #!/bin/sh## create by Gordon Chen echo ...
- Python语法速查: 2. 列表、元组、字典、集合操作
返回目录 (1)通用序列操作 “序列”表示索引为非负整数的有序对象集合,列表.元组.字符串都属于序列.区别在于:列表是可变的,而元组和字符串是不可变的.序列的通用操作他们都可以用. 操作或方法 简述 ...