如何搭建一个简单的网站(建站篇-如何从零搭建一个网站)

wufei123 发布于 2023-10-05 阅读(779)

php在线工具 菜鸟工具

Alien读完需要25分钟速读仅需 9 分钟如果你喜欢本文,请多多支持哈,小手一抖,点个小小的红心就是莫大的鼓舞。创作不易,严禁未经同意的恶意转载!

如何搭建一个简单的网站(建站篇-如何从零搭建一个网站)

1网站建设的方式有哪些?应用资源引擎:GAE,ACE,BAE,SAE,其中 ACE 是阿里云的应用引擎,现在已经下线GitHub 配合 Hexo,并利用 NexT 主题建设博客网站ECS 云服务器前面两种都是本人比较早期使用过的,比资源较方便快捷,但是定制与推广不便,没有特别大的商业价值。

现在主流的网站依然是 ECS 云服务器,虽然稍微有些复杂麻烦,但是长期来讲,它都是最优解为了让这篇建站教程更加简洁,这里对一些简单的步骤,比如:域资源名购买步骤服务器购买步骤选择性略过,大家可以直接去对应网站,像淘宝购物一样,登录后直接购买即可,网站里面已经描述的足够详细,这里就不再赘述。

2ECS 云服务器

开始建设网站之前,第一步肯定是:云服务器,资源用于存储网站的 HTML,MySQL 数据库,图片文件,PHP/JAVA 代码等等。推荐:阿里云腾讯云3域名登录:万网购买

购买 ECS 服务器后,你就拥有一个公网 IP,如果网站搭建起来了,就可以直接资源访问了,如:192.168.1.100 但是只有一个 IP,用户是记不住的,总不能每次访问都输入:192.168.1.100 去访问你的网站吧。

所以如果想要真正运营起来,想要流量,还需要申请一个域名,资源浏览器输入域名,就等于是映射访问了 192.168.1.100 这个地址。IP 相当于你的身份证,域名就相当于你的名字!4DNS 服务器

上述提到 域名-IP 地址 是对应关系,而存储这个映射关系的就需资源要 DNS 服务器这个重要角色,DNS 服务器一般都是域名服务商免费提供的,不需要我们注册,只需去阿里云/腾讯云的控制台配置即可:

平时我们访问网址,一般都使用:xx.com 或者 www.xx.com资源,所以只需要增加两种记录类型即可!记录一主机记录:@记录类型:A 解析线路(isp):默认记录值:101.35.99.239TTL:10 分钟

记录二主机记录:www 记录类型:A 解析线路(isp):资源默认记录值:101.35.99.239TTL:10 分钟什么是主机记录?主机记录就是域名前缀,常见用法有:www:解析后的域名为 www.aliyun.com。

@:直接解析主域名 aliyun.com资源*:泛解析,匹配其他所有域名 *.aliyun.commail:将域名解析为 mail.aliyun.com,通常用于解析邮箱服务器二级域名:如:abc.aliyun.com,填写 abc。

手机网站:资源如:m.aliyun.com,填写 m显性 URL:不支持泛解析(泛解析:将所有子域名解析到同一地址)什么是记录类型?A:将域名指向一个 IPV4 地址CNAME:将域名指向另一个域名AAAA:将域名资源指向一个 IPV6 地址。

NS:将子域名指向其他 DNS 服务器解析显性 URL:将域名重定向到另外一个地址隐形 URL:与显性 URL 类似,但是会隐藏真实目标地址5部署网站第一次注册 ECS 云服资源务器的时候,默认在控制台获取到如下几个信息:

服务器公网 IP服务器 SSH 端口服务器远程连接密码部署指的就是把你的代码上传到 ECS 云服务器上面,启动 Apache 或者 Tomcat 服务器,用资源户才可以访问部署有常用的两种方式:著名的宝塔面板(推荐小白使用,傻瓜式安装 LAMP)。

使用纯净的 CentOS 系统,手动登陆 SSH,脚本化部署(有一定技术难度,因笔者需要更精确定制 PHP 和 资源JAVA 版本两种服务器,所以使用了这种方式部署)更加推荐第二种方式,因为网站建设会遇到各种各样的奇奇怪怪的问题,如果这些基本操作都解决不了,就不要建设网站了。

LNMP 指的是 Linux + Ngi资源nx + MySQL + PHPLAMP 指的是 Linux + Apache + MySQL + PHP6备案发句牢骚,想当初第一次做网站备案的时候,是一件很烦的过程,需要很多资料,包括网站的内容都资源会审查,否则会不断给你打电话要求修改,当然万事开头难,只要做了第一次,后续就简单了。

笔者曾亲自经历一个从资源网,变成 CMS 网站,再到博客网站,再到...,因无法盈利,最后终于走到了停止运营的地步.资源....注意:不备案的网站是不合法的,如果被相关部门发现,理论上是要强制关闭的,这点一定要注意!

备案要提前准备一些资料:身份证正反面照片居住证照片居中证视频发送到腾讯云指定的邮箱详细明确的网站备注域名资源实名认证(如果是购买的是阿里云域名,就去阿里云实名认证,然后上传截图给阿里云/腾讯云)首页的底部添加备案号,并链接到工信部官网首页

广东省个人网站备案承诺书-签名+手印备案完成后,必须把备案信息贴到网站资源首页底部7CentOS 7 部署安装 Apache + MySQL + PHP 详解下面就是技术环节了,这个环节会比较繁琐,也令许多人望而却步,但顶住朋友们,马上就看到曙光了...。

第一步:安装 Ap资源ache 服务器$ sudo yum install httpd一旦安装成功,你就可以设置服务器启动时就开启 Apache 服务:$ sudo systemctl enable httpd.servi资源ce

你可以通过重新启动服务器,然后在命令行终端中敲入这条命令来验证 Apache 服务是否在服务器启动时自动开启了:$ sudo systemctl is-enabled httpd.service如资源果你看到了这样的响应:enabled,则说明 Apache 服务已经配置为在服务器启动时自动开启了。

在服务器上启动 Apache 服务的命令为:$sudo systemctl start httpd.资源service重新启动 Apache:$sudo systemctl restart httpd.service

停止 Apache:$sudo systemctl stop httpd.service资源如果你的服务器正在运行防火墙,请运行下列命令以允许它进行 HTTP 和 HTTPS 通信:$sudo firewall-cmd --permanent --zone=public --add-serv资源ice=http

$sudo firewall-cmd --permanent --zone=public --add-service=https$sudo firewall-cmd --reloadh资源ttp://

第二步:安装 MySQL1)yum 源 rpm 包下载wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noa资源rch.rpm

2)本地安装 mysql yum 源yum localinstall mysql57-community-release-el7-11.noarch.rpm3)检查 mysql 源是否安资源装成功yum repolist enabled | grep "mysql.*-community.*"

第四步安装 mysql 之前要先禁用默认的 mysql 模块sudo yum module di资源sable mysql4)安装 MySQL 服务yum install -y mysql-community-server

5)创建数据目录(可选)mkdir /data/mysqlchown -R m资源ysql:mysql /data/mysql6)修改配置文件如下,主要修改了一个目录,及添加了字符集参数vim etc/my.cnf

[mysqld]character-set-server=utf8d资源atadir=/data/mysqlsocket=/var/lib/mysql/mysql.socksymbolic-links=0log-error=/var/log/mysqld.log

pid-f资源ile=/var/run/mysqld/mysqld.pid[client]default-character-set=utf8[mysql]default-character-set=utf8

7)启资源动 MySQLsystemctl start mysqld8)查看登录密码grep temporary password /var/log/mysqld.log9)登录修改密码mysql -uroot资源 -p

alter user root@localhost identified by 你的密码;flush privileges;`10)重启 MySQLsystemctl restart mysql资源dMySQL 安装出现问题时的常见解决方式

在安装 MySQL 过程中,可能出现一些异常情况,如果出现,可以尝试一下指令重装或者重启修复,如果没有出现,可以跳过这些步骤完全卸载 MySQL(可选步骤)查资源看 mysql 安装了哪些东西 rpm -qa |grep -i mysql。

开始卸载 yum remove xx(上述列表)查看是否卸载完成 rpm -qa | grep -i mysql查找 my资源sql 相关目录 find / -name mysql删除相关目录 rm -rf xx

删除/etc/my.cnf rm -rf /etc/my.cnf删除/var/log/mysqld.log(如果不资源删除这个文件,会导致新安装的 mysql 无法生存新密码,导致无法登陆)rm -rf /var/log/mysqld.log

MySQL 首次安装无密码的问题:/var/log/mysqld.log 中资源找不到临时密码(可选步骤)网上都说初次安装 grep temporary password /var/log/mysqld.log 即可找到密码,但是我的 mysqld.log 中根本没有 tempo资源rary password

1)删除原来安装过的 mysql 残留的数据(这一步非常重要,问题就出在这)rm -rf /var/lib/mysql2)重启 mysqld 服务systemctl rest资源art mysqld3)再去找临时密码

grep temporary password /var/log/mysqld.log[Note] A temporary password is generat资源ed for root@localhost: qUhk6cfZMh(l

alter user root@localhost identified by 你的密码;flush privileges;MyS资源QL 界面管理工具推荐(可选步骤)MAC:Sequel ProWindow:Navicat

MySQL 运行远程链接(可选步骤)grant all privileges on *.* to root@%资源 identified by 你的密码 with grant option; flush privileges;

查看 MySQL 的端口号(可选步骤)show global variables lik资源e port;MySQL 使用中插入中文数据出现错误的解决方式(可选步骤)Incorrect string value: \xE7\xA8\x8B\xE5\xBA\x8F... for column 资源course at row 1

这个错误的原因是向数据库中插入中文,但是数据库的编码格式为 latin1 导致,修改为 utf8 即可第三步:安装 PHP$ sudo yum install php p资源hp-mysqlnd这里安装 PHP 应该不会有任何问题。

我们需要重新启动 Apache web 服务器以便它能够与 PHP 协作你可以通过这条命令达到目的:$ sudo systemctl rest资源art httpd.service安装 PHP 模块为了增强 PHP 的功能,我们可以选择性地安装一些额外的模块。

在命令行终端敲入这条命令,你就可以找到所有可以获取到的 PHP 模块选项和库:$ yu资源m search php响应的结果就是所有你能够选择安装的组件其中包含了每个可选组件的描述:php-bcmath.x86_64 : A module for PHP applications for 资源using the bcmath library。

php-cli.x86_64 : Command-line interface for PHPphp-common.x86_64 : Commonfi资源les for PHPphp-dba.x86_64 : Adatabase abstraction layer module for PHP applications

php-devel.x86_64 资源: Filesneeded for building PHP extensionsphp-embedded.x86_64 : PHPlibrary for embedding in applicati资源ons

php-enchant.x86_64 : Enchantspelling extension for PHP applicationsphp-fpm.x86_64 : PHPFastCGI Pr资源ocess Manager

php-gd.x86_64 : Amodule for PHP applications for using the gd graphics library如果需要获取每个模资源块更多的信息,你可以通过互联网搜索,或者直接在命令行终端中敲入这条命令查看:

$ yum info package_name响应中将会包含许多的信息,其中一个名为 Description 的域包含了这个资源模块提供的功能更为详尽的描述举个例子,如果要获知 php-fpm 模块的功能,我们只要在命令行终端中敲入下列指令就可以了:。

$ yum info php-fpm顺着众多其他信息往下看,你将会找到形如这资源样的信息:Summary : PHPFastCGI Process ManagerURL : http://www.php.net/

License : PHPand Zend and BSDDescr资源iption : PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI

: implementation with some a资源dditional features useful for sites of : any size, especially busier sites.

在考究之后,如果你决定要安装一个模块包,你可以像我资源们之前安装其他软件时的做法一样,使用 yum install 命令达到目的如果我们决定了 php-fpm 就是我们需要的,那么我们可以在命令行终端键入:。

$ sudo yum install php-资源fpm如果你想安装多于 1 个的模块包,你可以在命令行终端中键入 yum install 后,列出你想安装的每个模块包,并使用空格区分,就像下面这样子:$ sudo yum install packa资源ge1 package2…

现在,你的 LAMP 软件栈已经安装并配置妥当了但我们仍需要测试一下 PHP第四步 —— 测试你 Web 服务器上的 PHP 处理程序,为了测试系统已经配置得适合 PHP 运资源行,我们可以创建一个非常简易的 PHP 脚本。

我们将这个脚本命名为 info.php为了让 Apache 能够正确地找到并为之服务,它必须保存在一个称为『web 目录』特殊的目录中在 CentOS 7资源 中,这个目录位于 /var/www/html/。

我们可以通过下面这条命令在此创建一个文件:$ sudo vi /var/www/html/info.php这将会打开一个空白文件,敲击小写字母 I 即资源可进行编辑我们想在文件中输入下列 PHP 代码组成的文本:。

然后,敲击 ESC 键并键入 :wq! 即可保存并关闭这个文件现在我们可以测试 web 服务器是否能够正确地显示由 PHP 脚本生成的内容了资源我们可以尝试通过 web 浏览器访问这个页面。

你需要再次获取服务器的公网 IP 地址你希望访问的地址就是:http:///info.php如果你的浏览器成功地显示了这个页面,那么你的 PHP 就像预期资源中的那样正常工作了你很可能想要在测试之后移除掉这个文件,因为它事实上可以将服务器的信息展现给未授权的用户。

为此,我们需要在命令行终端中键入下面这条命令:$ sudo rm /var/www/html/资源info.php以后若需要,你可以重新创建这个页面来获取这些信息PHP 网站文件上传本人使用的是 Typecho 开源 PHP 博客系统,当然你也可以使用诸如 WordPress,CMS,OA 等等,资源你喜欢就好。

总之,把这个开源系统当作一个普通的 zip 文件,只要上传到指定的目录,访问 IP 地址,这个网站就会自动安装,傻瓜式操作当然,你也可以想我一样,强到自己撸出一个后台 Tomcat 网站,资源手写 HTML,前端,后台,APP,各类编程语言通吃的全栈型选手。

如果不可以,那就乖乖接受 PHP 是世界最好的语言吧(玩笑,作者不是挑战你们哈,不要喷我哈哈!)首先,需要登录到 SSH 后台:ssh资源 -p 22 root@你的IP地址输入密码Linux 电脑:配置 FTP,可选。

使用 rz 即可,直接用 Linux 命令 rz 上传操作MAC 电脑:Mac 上没有 rz 命令,所以上传下载使用另资源外的命令代替 scp,scp 类似于 cp 命令(cp 是本地拷贝不能跨服务器)1)首先需要在 CentOs 服务器上安装 scp 服务,运行下面的命令

yum install openssh-clie资源nts(一般不需要,CentOS一般默认自带)说明:yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端资源软件包管理器。

2)上传文件到服务器(注意运行该命令需要在本地终端下执行,否则提示找不到本地文件)scp /Users/alien/Desktop/xx.war root@192.168.1.101:/资源/usr/www/html/

3)上传文件夹到服务器scp -r /Users/alien/Desktop/fileFolder root@192.168.1.101:/usr/www/html/4)服资源务器下载文件到 MACscp root@192.168.1.101:/usr/local/WechatIMG135.jpeg /Users/alien/Desktop/

5)服务器下载文件夹到 macs资源cp -r root@192.168.1.101:/usr/local/fileFolder /Users/alien/Desktop/其他常用指令:Linux 当前目录所有文件移动到上一级目录:mv资源 * ../

启动 Tomcat:/usr/local/tomcat/bin/startup.sh停止 Tomcat:/usr/local/tomcat/bin/shutdown.sh解压 tar 文件资源:tar -zxvf ×××.tar.gz

解压 zip 文件:unzip ×××.zip查看当前目录的全路径:pwd查看 Apache 安装的信息:httpd -V查看 Nginx 的配置:nginx资源 -t查找文件路径:whereis python

找到 nginx 的二进制文件路径:ps -aux | grep nginx安装 handsome 主题到此,网站已经部署成功,可以访问了但是,默认的 资源Typecho 的主题样式是比较丑的,所以建议给 Typecho 更换一个主题,这里推荐一款叫做 Handsome 的主题,售价 88 元,功能齐全,自定义程度比较高。

安装 Handsome 的方式,资源官方网站已经给出详细文档,这里不再赘述,为了缩短篇幅,请读者优先查阅官方文档,下面只针对官方文档未提及或者常见的一些问题进行说明:安装 handsome 主题模板时候出现的问题

(一)PHP 缺少 mb资源string 模块支持,请联系作者获取解决方案1)yum install php-mbstring2)修改 php.inivi /etc/php.ini将下面内容前面的分号去掉

;extension=m资源bstring.so如果没有这一行,直接加入一行 extension=mbstring.so3)重启 web serviceservice httpd restart(二)Call to undefi资源ned function json_decode()

1)同样是扩展问题yum install php-json2)加入一行 extension=json.so3)service httpd resta资源rt同一个 IP 如何建立多个不同的网站首先你需要购买两个不同的域名

两个域名均需要重新备案两个域名同时进行 DNS 解析根据 Web 服务器的类型:Nginx 还是 Apache,设置对应的转发解析配资源置如何检测 Web 服务器是 Nginx 还是 Apache?curl -I http://你的IP地址

Nginx 配置同 IP 打开不同网站如果是 Nginx(注:该段是请教他人得知,暂时自己的 P资源HP 内并未用 Nginx,所以这段配置请最好自行验证)server { listen 80; server_name example.com;

index index.php; root /var/w资源ww/sub/;}location /ss { return 301 /ss/;}location /ss/ { root /var/www/sub/;

}Apache 配置同 IP 打开不同网站前提条资源件:已创建 LAMP 服务器服务器:选用 LAMP 7.4 镜像创建的轻量应用服务器测试网站:共两个,test01 和 test02测试域名:共两个,test01.example.com 和 test资源02.example.com。

1)修改 Apache 配置文件,修改 httpd.conf,首先查看自己的 httpd 的配置信息:httpd -V[root@VM-16-16-centos conf资源]# httpd -VServer version: Apache/2.4.37 (centos)

Server built: May 20 2021 04:33:06Servers Module Ma资源gic Number: 20120211:83Server loaded: APR 1.6.3, APR-UTIL 1.6.1

Compiled using: APR 1.6.3, APR-UTIL 1资源.6.1Architecture: 64-bitServer MPM: event threaded: yes (fixed thread count)

forked: yes (variable pr资源ocess count)Server compiled with.... -D APR_HAS_SENDFILE -D APR_HAS_MMAP

-D APR_HAVE_IPV6 (IPv4-mappe资源d addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE

-D SINGLE_LISTEN_UNSER资源IALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=256

-D H资源TTPD_ROOT="/etc/httpd" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_PIDLOG="run/httpd.pid" -D DEFAULT资源_SCOREBOARD="logs/apache_runtime_status"

-D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE资源="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf"

可以看到自己的 HTTPD_ROOT="/etc/httpd" 显示自己的根目录是在资源 /etc/httpd(有的是在/usr/local/apache 目录)2)使用 vim 编辑器按 i 键进入编辑模式,修改/etc/httpd/conf/httpd.conf 配置文件

去掉 #In资源clude conf/extra/httpd-vhosts.conf 的注释# Virtual hosts#Include conf/extra/httpd-vhosts.conf修改之后为:

# Vi资源rtual hostsInclude conf/extra/httpd-vhosts.conf3)按 Esc 键,然后输入:wq 并按 Enter 键,保存退出文件4)修改 httpd-vhosts.资源conf 文件。

运行以下命令,打开 httpd-vhosts.conf 文件vi /etc/httpd/conf/extra/httpd-vhosts.conf(有的目录是/usr/local/apa资源che/conf/extra/httpd-vhosts.conf)。

如果没有这个文件,那就重新创建一个!按 i 键进入编辑模式,修改配置信息注释掉下面配置文件中默认的配置信息()在文件的末尾添加以下配资源置信息:。

DocumentRoot "/var/www/html/" ServerName ssup.cc

DocumentRoot "/var/www/html/kh" ServerName xx.x资源x5)运行以下命令,重启 Apache 服务: /usr/local/apache/bin/apachectl restart

备注:写这篇文章的时候,Markdown 语法在不同平台表现可能稍有偏差,资源标号 1,2,3 等数字中间出现断行的时候,序号 2 也会被重新解析为序号 1建议用 1)这种表示步骤,经测试:微信公众号和简书不存在此问题。

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问资源或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

大众 新闻92511