Ubuntu上搭建网站【建立数据隧道,降低开支】

上篇:Ubuntu搭建web站点并发布公网访问

目录

1.安装WordPress

2.创建WordPress数据库

3.安装相对URL插件

4.内网穿透将网站发布上线

1.命令行方式:

2.图形化操作方式

5.图书推荐


cpolar官网

1.安装WordPress

在前面的介绍中,我们为大家展示了如何在Linux系统中安装cpolar,并对cpolar的web-UI界面有了一些了解。接下来,我们可以根据实际案例,对cpolar的功能有更深刻的认识,甚至从中找到新的cpolar应用场景,让cpolar真正成为我们生活和工作的好帮手。现在,我们就结合本地网站发布到公网的情况,为大家介绍cpolar的数据隧道功能。

在以往,网站建设必须先租用网络服务器,再将网站内容和脚本上传服务器,再经过复杂配置,才能正式上线接受访客的访问。这一流程不仅复杂,还会产生不少开支。

但通过 cpolar**的数据隧道功能,可以将以往需要存在网络服务器上的数据和脚本放回本地电脑上,再使用cpolar建立的数据隧道,临时对网页上传后的效果进行测试;或者建立起稳定的隧道,省去租用网络服务器的开支。**而想要在本地电脑上搭建网站,就必须先构建起网站的运行环境,以及对应的数据库。这里我们还是以wordpress为例(对使用者较为友好的建站软件)。

首先我们先安装网站所需的运行环境即数据库,我们可以在Ubuntu系统桌面,点击鼠标右键,并在菜单中点击"在终端中打开",进入Ubuntu系统的命令行界面。

接着在命令行中输入命令,安装apache2

复制代码
sudo apt install apache2 php -y

在apache2安装完成后,还需要安装数据库,才能支持worepress网站的正常运行。同样的,我们在命令行窗口输入命令,安装mySQL数据库。

复制代码
sudo apt install mariadb-server php-mysql -y

最后,我们就可以在命令行中输入wordpress的下载和安装。不过与apache和mySQL不同,wordpress是网站运行的包合集,因此我们需要先将wordpress的压缩包下载到单独的文件夹,在解压后才能使用这些文件。

我们先输入命令,转入上一级目录

复制代码
cd /var/www/html

在该目录下输入命令,下载wordpress的压缩包

复制代码
sudo wget http://wordpress.org/latest.tar.gz

下载完成后,再输入命令解压

复制代码
sudo tar xzf latest.tar.gz

解压完成后,我们需要将wordpress的文件移动到上级目录,输入命令移动所有文件。

复制代码
sudo mv wordpress/* .

从顺序上来看,之前下载的wordpress压缩包就在这一层文件夹中(可以输入"ls"查看文件夹中的文件进行确认)。为防止干扰,我们可以将wordpress的压缩包删除,输入命令

复制代码
sudo rm -rf wordpress latest.tar.gz

再输入命令确认压缩包已经删除

复制代码
ls

同时,我们输入命令将该文件删除(该文件是网站错误文件,会显示在wordpress之前,影响wordpress的设置进程)

复制代码
rm index.html

接着,我们将存有wordpress文件的文件夹定义为网站文件夹,并且赋予其相应权限。在命令行窗口输入命令

复制代码
sudo chown -R www-data: .

这条命令执行完成后,再输入命令,查看权限是否赋予成功。

复制代码
ls -l

如上图所示,只要各文件名前显示出www,就说明我们的赋权操作已经完成。到这里,我们在Ubuntu上建立网站的软件都已经安装齐备,剩下的工作就是对这些软件进行相应的配置。

2.创建WordPress数据库

之前我们提到,wordpress网站想要正常运行,必须配备有相应的数据库,虽然我们安装了mySQL软件,但此时还没有建立其容纳数据的数据库,因此我们首先要对mySQL进行配置。由于数据库的设定涉及很多权限的确定,因此在这里需要小心,避免留下我们网站被入侵的漏洞。

在命令行窗口执行命令,将mySQL数据库初始化。

复制代码
sudo mysql_secure_installation

接着,mySQL会提出一系列问题,用以确定数据库的操作权限。这些问题的顺序分别为

  1. 要求root mysql数据库的密码(新安装的软件没有预置数据库,因此无密码,直接回车);
  2. 是否要设置root数据库的密码(会要求输入两次密码,密码一定要一致);
  3. 是否移动匿名账号;
  4. 是否关闭root的远程登录;
  5. 是否移除测试数据库;
  6. 是否对修改内容重刷权限表;

这些问题都输入Y即可通过,但我们要注意,数据库的密码很重要,必须设置不易破解的密码,并且进行妥善记录防止遗忘。

完成这些步骤后,数据库的设置也就正式完成。

接下来我们就着手创建一个wordpress专用的数据库,创建这个数据库的命令行为

复制代码
sudo mysql -uroot -p

这条命令中,-u后直接连接(无空格)用户名,此处我们连接的是root用户,所以为-uroot,而-p则是用户密码。而mySQL也会要求输入用户密码和数据库密码。

完成这一步后,我们输入命令指挥mySQL创建一个wordpress专用数据库

复制代码
create database wordpress;

接着,输入命令为wordpress数据库进行权限设置(为防止输入命令时全角和半角错误,可以直接复制该命令)。

复制代码
GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'localhost' IDENTIFIED BY '这里为你的root数据库密码';

最后执行命令刷新一次。

复制代码
flush privileges;

由于一直处于命令行模式操作,并不如图形化操作直观,为确定我们的步骤没问题,我们可以输入命令确认我们成功建立起了wordpress专用数据库。

复制代码
show databases;

如上图所示,只要在反馈中出现了"wordpress"名称的数据库,就证明我们的设置步骤没错。

最后,我们在Ubuntu的浏览器的地址栏中输入"localhost"(本机地址),就能打开我们熟悉的wordpress安装页面(如果浏览器没有显示wordpress安装页面,可以选择以隐私界面打开localhost,就能正常显示)。

剩下的步骤都是常规设置,如显示语言、数据库设置、wordpress用户注册等等。这里需要注意的,就是wordpress数据库的设置,一定要和mySQL数据库中设置wordpress数据库时所留的用户名及密码一致!(当然,当时我们设置的数据库名称就是wordpress)

完成这些设置后,我们就能正式进入wordpress的主界面了。

至此,我们对wordpress网站的运行环境设置已经完成

3.安装相对URL插件

要让本地的网页能为公共互联网的用户访问到,必须有符合现行互联网规范的地址,即URL。但wordpress本身并不自带生成URL地址的功能,我们必须通过为wordpress安装插件来实现这一功能。还是回到wordpress的主界面,在左侧,我们能找到插件项,点开后在搜索框输入relative URL,就能找到这款插件,接着点击安装启用即可。

完成URL插件的安装后,我们还需要对wordpress本身进行一项小修改,我们要教会wordpress正确应对外部访问请求,因此我们要打开Ubuntu命令行界面,输入命令,转入站点根目录

复制代码
/var/www/html

转入站点根目录后,再输入命令对wordpress的配置文件进行编辑。

复制代码
nano wp-config.php

在wordpress编辑界面,我们要找到如下位置,输入两行命令,分别为:

复制代码
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);

由于命令行对于标点符号有全角半角的要求,因此最好还是复制命令,避免输入错误,导致wordpress运行错误。

确认命令输入无误后,就可以按快捷键Ctrl+X退出编辑,系统会询问我们是否保存更改,我们输入Y即可。

如果我们要返回wordpress的设置界面,只要在浏览器中输入地址http://localhost/wp-admin,就能回到wordpress的仪表盘

而我们也能在这里,选择自己喜欢的网站外观,打造自己心仪的网站。

至此,我们在Ubuntu上搭建的网站就基本成型了。

4.内网穿透将网站发布上线

通过前面介绍中的操作,我们已经成功的在Linux系统中搭建起网页运行所需的环境,并且通过wordpress成功制作了一个网页。但此时的网页还仅存在于本地电子设备上,想要将其发布到互联网上,还需要通过cpolar建立的数据隧道才能实现。今天,我们就尝试使用cpolar建立的数据隧道,让本地网页能够为互联网访客所访问的集中方法。

在此之前,我们已经在本地电脑上安装了cpolar,因此我们可以采用命令方式和图形化操作两种方式,建立起数据隧道。

1.命令行方式:

我们只要在本地Ubuntu的命令行窗口,直接输入命令,建立起一条本地端口号为80的数据隧道。

复制代码
cpolar http 80

其中,"http(s)://6010e200.cpolar.cn"是数据隧道的互联网端口,公网上的访客可以通过这个端口,访问到本地电脑(http://localhost:80)上的网页,从而实现通过cpolar将本地网页发布到公共互联网上的目的。

2.图形化操作方式

在浏览器中输入cpolar的web-UI界面地址localhost:9200(这是cpolar的web-UI地址,通过本地9200端口输出)

此处,此处我们只要输入注册时的用户名和密码,就能进入cpolar的图形化界面,并在此建立数据隧道。登录后,我们可以直接在cpolar主界面左侧选择"隧道管理"项,并在下来菜单中点击"创建隧道"进入隧道建立页面。在这个页面中,我们能对打算建立的隧道进行定义,包括

  • 隧道名称(用以区别其他隧道,或对隧道用途进行简单说明)
  • 协议类型(适用于网页发布或设备互联)
  • 本地地址(即本地输出的端口号)等信息

在填入这些信息后,点击页面下方的"创建"按钮,就能方便快捷的创建起相应隧道。

当然,无论以那种方式创建隧道,都可以在cpolar官网看到所创建隧道的信息。

而我们,也可以直接在浏览器中输入cpolar生成的隧道地址,检测数据隧道是否打通。

到这里,我们的网页已经正式发布到互联网上,能够为互联网访客虽访问到了。由于此时我们建立的数据隧道还处于临时连接状态,每个24小时就会重置,因此并不适合长期存在的网页链接。但这样的临时链接对于网页测试却有好处,既能实测网页发布后的实际运行情况,帮助找到潜在的bug,还不占用宝贵的稳定数据隧道名额。

5.图书推荐

Linux操作系统是目前最为流行的一款开源操作系统,从服务器系统到嵌入式设备,Linux的身影无处不在。云计算、物联网、大数据、人工智能等一系列技术领域,其背后同样离不开Linux。现如今,越来越多的开发者以及爱好者投入了Linux系统维护和Linux系统编程等领域。然而,Linux因其复杂性,让无数新手望而却步。

技术的学习之路大多是艰难而枯燥的, Linux系统编程的学习之路更是困难重重。一方面,它需要我们了解基本的编程技术,特别是C语言编程技术;另一方面,它还需要我们了解Linux操作系统的底层技术知识。

进程是如何创建的?

进程间是如何进行通信的?

文件系统是如何运行的?

systemd是如何管理守护进程的?

如何编写静态库与动态库?

编译器是如何工作的?

如何对程序进行调试?......

一系列技术问题让人应接不暇。

如何了解Linux操作系统?

如何在Linux系统下进行编程开发?

从什么地方开始着手学习?

这些问题困扰了很多人,让人踟蹰不前,不知如何下手,这本《Linux系统编程》会给予大家一些指引。

本次送书 3 本 评论区抽3位小伙伴送书

活动时间:截止到 2023-04-11 14:00:00

抽奖方式:利用程序进行抽奖。

参与方式:关注博主、点赞、收藏,评论区评论 "人生苦短,我用Linux!"
迫不及待的小伙伴也可以了解详情:

Linux系统编程
🍓 获奖名单🍓

名单公布时间: 2023-04-11 14:00:00

霜_哀

Super algorithm

大寄一场.

相关推荐
cuijiecheng2018几秒前
RK3588 DEP 接入 Dante Domain Manager(DDM)完整测试记录
linux
爱吃香菜的初学者9 分钟前
十二.Linux——管道
linux·运维·服务器
网硕互联的小客服8 小时前
Linux服务器磁盘应该如何合理分区?
linux·运维·服务器
lisanmengmeng9 小时前
nacos nrpe 监控机及被监控机部署
服务器·nacos·nagios·nrpe
贵沫末10 小时前
Ubuntu——常用软件安装
linux·运维·ubuntu
Doraemomo10 小时前
Linux内核驱动开发——中断与定时器
linux·运维·驱动开发
2301_8084143810 小时前
Linux中动静态库的理解
linux·运维·服务器
M78佐菲11 小时前
ARM学习笔记(11)
linux·arm开发·笔记·嵌入式硬件·学习
M78佐菲11 小时前
ARM学习笔记(10)
linux·arm开发·笔记·嵌入式硬件·学习
半仙白桑12 小时前
内核篇第十五讲:system-V共享内存
linux·共享内存·shmget·shmat·shmdt·shmctl