一直以来都想搭建一个自己的博客网站,但由于本人很菜,又没有大佬帮助,不过有了ChatGPT后,虽然不能完全帮自己搞定所有任务,但至少能够提供一个学习的框架。
所以,接下来一段时间,我将会在ChatGPT的辅助之下,从0开始搭建自己的小网站,顺便记录一下学习历程和代码,方便自己后续的使用。
如果你也喜欢本系列,或者想催更的话,不妨就点一下“在看”。您的支持是我更新的最大动力!!!
如果对搭建网站一无所知,那不妨就直接向ChatGPT提问吧!
以下为本人与ChatGPT的交流过程。
You:
如何在Linux系统中搭建网站
ChatGPT:
在Linux系统中搭建网站通常涉及到设置一个Web服务器、配置域名、创建网站文件和数据库(如果需要的话)。以下是一般步骤:
-
安装Web服务器:最常见的Linux Web服务器是Apache、Nginx和Lighttpd。你可以选择其中一个来安装和配置。使用包管理器如apt、yum或dnf,安装Apache的命令示例(在Ubuntu上)如下:
sudo apt update
sudo apt install apache2安装Nginx的命令示例(在Ubuntu上)如下:
sudo apt update
sudo apt install nginx -
启动Web服务器:启动和启用Web服务器以便它能够自动在系统启动时启动。使用以下命令启动Apache:
sudo systemctl start apache2
sudo systemctl enable apache2使用以下命令启动Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx -
创建网站目录:在Web服务器的默认文档根目录下,创建一个目录来存放你的网站文件。在Apache上,默认文档根目录通常是
/var/www/html/
,而在Nginx上,通常是/usr/share/nginx/html/
。你可以将你的网站文件放在这些目录中,或者设置新的目录。 -
配置虚拟主机(可选):如果你计划在同一服务器上托管多个网站,你可以配置虚拟主机来为每个网站分配独立的域名和目录。配置方法取决于你选择的Web服务器(Apache或Nginx)。虚拟主机配置允许你为每个网站定义不同的设置,如域名、SSL证书等。
-
创建网站文件:创建你的网站文件,包括HTML、CSS、JavaScript和其他资源。将这些文件放在你在步骤3中创建的网站目录中。
-
配置数据库(可选):如果你的网站需要使用数据库,你可以安装和配置数据库服务器,如MySQL、PostgreSQL或SQLite。安装和配置方法会根据所选的数据库系统而异。
-
配置域名:如果你拥有一个域名,你需要配置DNS以指向你的服务器的IP地址。在DNS配置中,你可以设置A记录或CNAME记录来将域名指向你的服务器。
-
测试网站:在浏览器中输入你的服务器的IP地址或域名,确保你的网站正常工作。
这只是一个简单的概述。具体的步骤和配置取决于你的需求和所选的Web服务器。你还可能需要考虑安全性、SSL证书、日志记录和备份等方面的设置。查阅Web服务器和数据库的官方文档,以获取更详细的配置信息。
可以看到,搭建网站的第一步就是安装并启动Web服务器,由于本人很菜,所以只好下载一个虚拟机来进行测试。所以我真正的第一步是在虚拟机中安装Linux操作系统。
Step1:下载并安装Vmware Workstation(网络上教程很多)
Step2:下载CentOS7的镜像文件https://mirrors.aliyun.com/centos/7/isos/x86_64/,本人下载的是CentOS-7-x86_64-DVD-2009.iso
Step3:在Vmware中安装Linux虚拟机
重启后登录,然后利用ifconfig命令查看IP地址,随后用Xshell进行连接即可使用。
Step4:查看系统是否安装Web服务器
You:
如何查看Linux系统是否安装了Apache
ChatGPT:
要查看Linux系统是否安装了Apache HTTP服务器,你可以使用终端命令检查Apache服务的状态。具体的命令会根据你的Linux发行版而有所不同。以下是一些常用的命令:
-
对于Debian或Ubuntu:
使用
systemctl
命令来检查Apache的状态:systemctl status apache2
如果Apache已安装,你将看到有关Apache服务的状态信息。
-
对于CentOS或Red Hat:
使用
systemctl
命令来检查Apache的状态:systemctl status httpd
如果Apache已安装,你将看到有关Apache服务的状态信息。
-
对于其他发行版:
如果你的系统使用不同的发行版,你可以使用以下命令检查是否有Apache进程在运行:
ps aux | grep apache
或者使用以下命令检查Apache软件包是否已安装:
dpkg -l | grep apache # 对于Debian/Ubuntu
rpm -q httpd # 对于CentOS/Red Hat
如果Apache已经安装,你会看到与Apache相关的软件包信息或进程。如果没有安装,上述命令将不会显示任何输出。
请注意,确保你具有足够的权限来运行这些命令。通常情况下,需要以root用户或具有sudo权限的用户身份运行这些命令。
这里,根据ChatGPT,我测试后发现服务器中不存在httpd.service,因此需要安装。
Step5:安装并启动Apache
You:
Linux中安装并启动Apache服务器
ChatGPT:
要在Linux中安装和启动Apache HTTP服务器,你可以使用包管理器来安装Apache。以下是使用常见的包管理器的示例命令,分别针对不同的Linux发行版:
对于Debian或Ubuntu:
-
安装Apache:
sudo apt update
sudo apt install apache2 -
启动Apache服务:
sudo systemctl start apache2
-
设置Apache在系统启动时自动启动:
sudo systemctl enable apache2
对于CentOS或Red Hat:
-
安装Apache:
sudo yum install httpd
-
启动Apache服务:
sudo systemctl start httpd
-
设置Apache在系统启动时自动启动:
sudo systemctl enable httpd
这些命令会安装Apache HTTP服务器,并启动它。你可以使用以下命令来检查Apache的状态:
对于Debian或Ubuntu:
sudo systemctl status apache2
对于CentOS或Red Hat:
sudo systemctl status httpd
如果Apache已经成功启动,你将在输出中看到有关Apache服务的状态信息。
一旦Apache安装并运行,你可以通过访问服务器的IP地址或域名来测试它。默认情况下,Apache的文档根目录在Linux上是/var/www/html/
,你可以将网站文件放在这个目录中。稍后,你可以通过编辑Apache的配置文件来自定义虚拟主机和其他设置,以适应你的特定需求。
安装成功后,利用systemctl status httpd命令可以看到Apache服务器正在运行,此时可以通过服务器的IP地址,在浏览器中进行访问。
Step6:设置端口80能够通过防火墙
You:
启动了Apache后,但无法通过服务器的IP访问,是什么原因
ChatGPT:
如果已经启动了Apache,但无法通过服务器的IP地址访问网站,有几个常见的原因可能导致这个问题:
-
防火墙设置:Linux服务器可能正在运行防火墙,如iptables或firewalld。你需要确保端口80(HTTP)已经允许通过防火墙。你可以使用以下命令检查和允许HTTP流量:
-
对于iptables:
css sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables-save
-
对于firewalld(CentOS/RHEL):
css sudo firewall-cmd --zone=public --add-service=http --permanent sudo firewall-cmd --reload
-
虚拟主机配置:如果你设置了虚拟主机,确保你的虚拟主机配置正确。如果配置错误,Apache可能会无法正确地路由请求。检查Apache配置文件中的虚拟主机部分,确保域名和文档根目录正确设置。
-
域名解析:如果你使用域名来访问服务器而不是IP地址,确保域名已解析到正确的IP地址。你可以在终端中使用
ping
或nslookup
命令来验证域名解析是否正确。 -
Apache配置错误:检查Apache的配置文件是否正确,尤其是主配置文件和虚拟主机配置。查看错误日志文件以获取有关Apache问题的更多信息。错误日志文件通常位于
/var/log/apache2/error.log
(Debian/Ubuntu)或/var/log/httpd/error_log
(CentOS/RHEL)。 -
Apache未在监听端口上运行:确保Apache正在监听正确的端口(默认是80)。你可以在Apache的主配置文件中查找
Listen
指令来检查端口设置。 -
服务状态:确保Apache服务正在运行。你可以使用
systemctl status apache2
(Debian/Ubuntu)或systemctl status httpd
(CentOS/RHEL)来检查服务状态。 -
IP地址正确:验证服务器的IP地址是否正确。你可以使用
ifconfig
或ip a
命令来查看服务器的IP地址。
如果以上检查都没有解决问题,你可以查看Apache的错误日志以获取更多详细信息,以便进一步诊断问题。同时,确保你没有其他冲突的服务或应用程序占用了80端口。
You:
Linux中如何查看哪些端都通过了防火墙
ChatGPT:
要查看哪些端口通过了防火墙,你可以使用不同的命令,具体取决于你正在使用的防火墙管理工具。以下是一些常用的防火墙工具和相应的命令:
-
iptables:如果你使用iptables作为防火墙工具(在许多Linux发行版上是默认的),你可以使用以下命令来列出已经通过iptables的端口规则:
sudo iptables -L -n
这将列出iptables的规则,包括允许通过的端口。你可以查看”ACCEPT”规则来确定哪些端口是开放的。
-
firewalld:如果你使用firewalld作为防火墙管理工具(通常在CentOS/RHEL系统中使用),你可以使用以下命令来列出已经通过firewalld的服务和端口:
sudo firewall-cmd --list-ports
或者列出已通过的服务:
sudo firewall-cmd --list-services
这将显示已经配置为允许通信的端口或服务。
-
ufw:如果你使用Ubuntu的ufw(Uncomplicated Firewall),你可以使用以下命令来列出已经通过ufw的规则:
sudo ufw status
这将显示当前ufw防火墙规则,包括允许的端口。
这些命令将显示已经通过防火墙的端口或规则。如果你需要在防火墙上开放新的端口,你可以使用相应的工具(如iptables
、firewall-cmd
或ufw
)来添加新的规则。请注意,修改防火墙规则可能需要root或sudo权限。
这里我通过firewall-cmd –list-services发现只有dhcpv6-client和ssh两个端口能够通过防火墙。因此设置http端口也通过防火墙,并重新加载防火墙。
随后,即可在浏览器中直接访问该网站,但由于此时网站目录中无任何文件,所以只会显示Testing 123…
原文始发于微信公众号(BioInfo):跟着ChatGPT学习网站搭建——第1篇:Linux系统安装及Web服务器配置
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/238106.html