开启掘金成长之旅!这是我参与「掘金日新计划+·+12+月更文挑战」的第1天,点击查看活动详情
经历了各种坑,总算将一个动态的网站搭建成功,也终于完成了之前的一个小计划,为了将让更多的人不踩坑,以及防止本人忘记在这里记录一下。
在进行这场学习之前,我建议你先初步了解以下几点知识:(当然,如果你不想了解,跟着我的教程也可以搭建成功)。
·HTML ·CSS ·javaScript ·Linux ·PHP ·MySql
什么是动态网站?
动态网站就是可以与客户进行交互的网站,例如:登入、注册、留言等 像这些功能都需要用户的信息与服务器进行交流,将相关信息存储到数据库中。反而言之不需要与数据库进行存储的网站称之为静态网站,当学会动态网站之后,静态网站你自然而然就会做出来了。
我搭建动态网站的环境如下:
Linux:Linux操作系统,CentOS 7.0;
Nginx:Web服务器,Nginx 1.18.0;
Mysql:数据库,Mysql 8.0;
PHP:脚本语言,PHP 7.3.20;
安装步骤:
第一步:首先要登入服务器(Linux)
首先登入我们的服务器,Windows系统先打开 “命令行”;Mac系统打开 “终端”
输入以下命令登入服务器 :
ssh root@you servers IP address 例如:ssh root@127.0.0.1 然后回车确认
注:在命令行/终端中 语句输入完之后都要按下回车(Enter)键 进行执行。
在连接到服务器之后,需要我们输入登入密码,登入成功时会有系统提示(注:这个密码输入时不会显示在界面上,输入完成之后按下Enter键即可)
第二步:安装Nginx服务器
在Linux系统中输入以下命令:(解释:vi是多模式编辑器,可以对文件进行查看、编辑等操作。vi后面需要加上文件夹的位置(绝对位置/相对位置))
vi /etc/yum.repos.d/nginx.repo
接下来按“i”键,进入编辑模式,输入以下内容
[naginx]
name = naginx repo
baseurl = https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck = 0
enabled = 1
按下“Esc”键,输入“:wq”(解释:esc键退出编辑模式,“:”进行文档命令的输入,w 代表保存;q 代表退出;)
输入以下命令,进行Nginx服务器的安装
yum install -y nginx
输入以下命令,打开 nginx.conf 文件(解释:vi 和 vim 都是多模式编辑器,不同的是vim是vi的升级版本)
vim /etc/nginx/nginx.conf
输入“i”进入编辑模式,对 nginx.conf 文件进行编辑
找到Server{……}代码,将大括号中的配置信息进行修改,修改成下面的内容。(解释:取消服务器对IPv6地址的监听,对Nginx进行相关配置,实现与PHP联动)
server{
listen 80;
root /usr/share/nginx/html;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {index index.php index.html index.htm;
}
#error_page 404 /404.html;
#redirect server error pages to the static page /50x.html
#error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;}
#pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
注释:如果没有看到Server{……}代码,就将以上代码添加到 include /etc/nginx/conf.d/*.conf; 的上方
按下“Esc”键,输入“:wq” 保存并退出(解释:esc键退出编辑模式,“:”进行文档命令的输入,w 代表保存;q 代表退出;)
输入以下命令启动Nginx。
systemctl start nginx
输入以下命令,将Nginx服务器设置为开机自动启动
systemctl enable nginx
打开浏览器,在浏览器的地址栏中输入服务器地址,查看Nginx服务器是否正常运行
http://服务器的地址 例如:http://124.70.50.33
如果页面显示如下,则代表Nginx服务器安装配置成功
第三步:安装 MySQL 数据库
在Linux中,通过使用YUM软件包管理器进行MySQL8.0服务器的安装
输入以下命令,配置Mysql8.0的安装源:(解释:sudo 表示以管理员身份执行命令(root用户就是最高级别管理员))
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
输入以下命令,安装MySQL 8.0:(解释:yum(Yellow dog Updater,Modifier一个自由、开源的命令行软件包管理工具)
sudo yum --enablerepo=mysql80-community install mysql-community-server
过程中提示下载安装插件,输入“y"
输入以下命令,启动MySQL服务并且设置为开机启动
sudo systemctl enable --now mysqld
输入以下命令,查看MySQL服务器是否运行成功
sudo systemctl status mysqld
显示以下内容即代表运行成功(Active:active(running))
输入以下命令查看MySQL的默认初始密码
grep "A temporary password" /var/log/mysqld.log
注释:在localhost:后面就是MySQL的默认密码
输入以下命令,设置MySQL root用户密码
sudo mysql_secure_installation
输入将要设置的密码
移除匿名用户,输入“y” (解释:“y”代表“yes” 也可以输入“yes”)
禁止root账户远程登入,输入“n”
移除test测试数据库,输入“y”
现在重新加载权限表,输入“y”
输入以下命令测试MySQL数据库是否安装成功(解释:这是登入数据库的命令语句 "-u" 代表登入用户,后面输入需要登入的用户名;"-p"代表密码,密码不需要输入后面,等待系统提示后输入
mysql -u root -p
以下便表示数据库安装运行成功
输入以下命令,修改配置,使得用户验证插件更快更安全
sudo vim /etc/my.cnf.d/mysql-defaolt-authentication-plugin.cnf
输入 “i” 进入编辑模式,将默认的 defaolt_authentication_plugin 修改为 caching_sha2_password
defaolt_authentication_plugin = caching_sha2_password
按下“Esc”键,输入“:wq” 保存并退出
输入以下命令,重启MySQL数据库,确保配置生效
sudo systemctl restart mysqld
第四步:安装 PHP 脚本语言解释器
依次输入以下命令,更新yum中的PHP的软件源
rpm -Uvh https://mirrors.cloud.tencent.com/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
输入以下命令,安装PHP7.2所需要的包
yum -y install mod_php72w.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-mysqlnd php72w-fpm.x86_64
输入以下命令,启动PHP—FRM服务
systemctl start php-fpm
输入以下命令,设置为开机自动启动
systemctl enable php-fpm
输入以下命令,创建一个测试的文件
vim /usr/share/nginx/html/index.php
输入“i”,进入编辑模式,输入以下代码
<?php echo phpinfo() ?>
按下“Esc”键,输入“:wq” 保存并退出
输入以下命令,重启Nginx服务器
systemlctl restart nginx
接下来在浏览器的地址栏,输入服务器的地址,查看是否正常运行
http://服务器的地址 例如:http://124.168.52.49
如果显示一下界面,就代表已经正常运行了
好了,恭喜你,到这里你已经成功搭建一个动态的服务器了。已经很棒棒了~
可能你还有些茫然,有点云里雾里的,不用担心,慢慢学习就会懂了。
接下来,我将分享给你如何做成自己想要的网站,非常简单
之后你就想怎么样做一个网站就可以做一个网站了