其实最近一直在搭建自己的博客和自己的图床,遇见了一些各种各样的问题,所以在这里总结一下如何利用宝塔面板来建立一个网站。

1.网站在服务器中的形式

其实网站虽然是网站我们能访问到,实际上我们访问到的都是服务器的某个文件,打个比方我们肯定都在本地看到过HTML文件,我们在本地可以用浏览器打开HTML,当然如果我们把这个文件放在服务器上面就能从远程访问到这个HTML,并且能将内容显示到远程也就是我们的浏览器上面,这就成了我们口中的网站,当然一个HTML的静态界面很简单,我们实际上的网站很多都是有前端后端等等的各种东西,比较复杂

2.网站的服务器

很多时候我们说服务器服务器,指的都是远程的那个主机,实际上服务器是我们主机上的一个程序,就以一个网站来说我们得到的是从web服务器发来的一个HTTP请求响应,并且将网站的内容发送给我们,我们才能显示,当然我们得先请求网站,打个电话:喂,你把信息给我,经过了tcp的各种骚操作,然后网站把信息发送给了你并且在浏览器上显示,我们作为客户端则必然有服务端,我相信大家看到这篇博客,肯定这些东西是有一定的了解的,这里就不赘述了,可能有些说的不准确,也希望大佬斧正(为什么我不好好学计网!!!)所以我们需要的是在我们的服务器也就是什么阿里云腾讯云的主机上搭建一个web服务器,什么,自己写?这是不可能呢,嘿嘿!目前市场上有俩款比较出名一个是Apache,还有一个就是nginx,也就是标题上的那个,Apache好像是很牛逼,也很全面,但是小灰一开始想用什么反向代理这个功能,于是就没有用Apache,而且nginx是个轻量级的web服务器,给我们搭建一个什么博客还是OK的。

3.搭建开始

可能大家搭建的是各种各样的东西,我们为了授之以渔就不具体讲解某一个东西的安装。以小灰的经验来说我目前装在我服务器上的一个就是我的网站一个就是图床,我基本上遇见的都是我需要下载一个文件夹到我的服务器上面,而通过我的服务器先去访问这个文件夹的某个文件对其进行安装配置,安装配置完毕之后我再去访问这个index文件,我们就能正常使用了,逼话少说,开整

1.安装下载nginx

宝塔面板的安装下载教程很多,这里就不介绍了

我们在宝塔面板里能看到软件面板

宝塔 新建 python项目网站 宝塔怎么建网站_宝塔 新建 python项目网站

我们在软件面板里面找到nginx并且安装就完事了,很简单

2.把我们想搭建的放到某个文件夹里面

这里小灰想说一下,放的文件夹一定不是管理员的或者某个私人用户的文件夹,否则我们在访问的时候会没有权限而导致404,之前小灰就是这样,卡了我好久,后来才发现,蠢得可爱。一定要放在那种公共的文件夹,比如说这个root文件夹就是root 的

宝塔 新建 python项目网站 宝塔怎么建网站_web_02


直接放在外面根目录新建一个也ok

3.宝塔面板建站

我们可以在宝塔面板发现一个网站

宝塔 新建 python项目网站 宝塔怎么建网站_nginx_03

点击添加新的站点

宝塔 新建 python项目网站 宝塔怎么建网站_nginx_04


感觉基本上都能随便填一下我们后面能改,域名就填你的域名,下面数据库什么的以及php就按照你的 需求来,我们需要弄得就是将我们需要打开的那个文件夹,设定为我们的根目录,或者直接讲文件夹吓到这里它替我们创建的根目录

宝塔 新建 python项目网站 宝塔怎么建网站_服务器_05

我就随便建了一个

宝塔 新建 python项目网站 宝塔怎么建网站_宝塔 新建 python项目网站_06


第一种情况

你有域名的情况下,你直接将域名解析到你的服务器公网ip,然后你的配置就照着上面的listen 80,下面server_name要填写你的二级域名,这里要解释一下一级域名和二级域名,我们买到的域名都只有后面的几个如baidu.com是这个,前面的都是我们要加的,我们可以搞个www.baidu.com,也可以搞个happy.baidu.com在这里我们需要填的是这个

第二种情况

如果你没有域名,那么listen就填写你想让你网站呗访问的端口号,如1234 7788什么的,下面的server_name就填写你服务器的公网ip,这样你就可以通过你的ip+冒号+端口号访问到我们想访问的网站了(别憨的连+号都加上了),实际上我个人理解的是他会访问对应的文件夹,然后默认打开的是index文件。

之后我们保存设置,让站点运行就可以

其实这样我们的一个网站就基本上建立好了,是不是感觉很简单!

写在最后

其实一直很不太理解在一开始,域名解析就是域名通过dns服务器来找到你的服务器,但是找到的是你服务器的ip地址,他不知道要找到你服务器的哪个端口,这个问题就带来了,如果我想要能被访问到,我只能设定为80端口也就是默认端口,这样必然能被服务器访问到,可是这总归是治标不治本的方法,所以问题就来了。
之前我就一直在对这个问题很困惑,然后就在群里问别的大佬这个问题怎么办,人家告诉我有俩个方法一个就是nginx的反向代理,还有一个就是二级域名能直接解析到端口,我之前的typecho就遇见了,首页虽然是我域名能访问到,但是进去里面之后点到的界面都是我的ip,好像域名就没有起到作用。这个问题难了我好几个月终于在今天解决了
实际上我好像是又用了反向代理又用了二级域名解析到端口,所以会导致它重复转发从而出问题。

我们需要做的是加入的域名是我们的二级域名(我认为www也能被认为二级域名的一种),并且listen的是80端口,这个80端口有我个人感觉是二级域名的80端口也就是打开域名的默认界面,就可以被访问到了。同时在这里猜测是宝塔面板会自动帮我们做一个查找搜索的功能,直接找到对应的文件夹和文件,从而绕过了端口这种东西。

干巴爹!!!