尝试搭建网站
前言
大二上的数据库大作业实在把我折腾得够呛,但也给我打开了网页开发的新世界。所以我觉得可以进一步尝试建站。当然这次可不能瞎写(毕竟是给别人看的),同时也要考虑扩展性、安全性、鲁棒性等等。所以我觉得有必要记录一下设计的思路。
经验
下面是我数据库大作业的个人总结:
由于之前并未学习过前后端的知识,也没学过 JavaScript 和 php,这次是边学边用。前端一开始编写的界面比较粗糙,后面了解到 Bootstrap 框架以及一些插件后,重新对界面进行了修改,使得界面变得比较简洁,同时能够自适应不同分辨率的屏幕,改善了用户体验。主要的难点在于与后端的信息交换,主要学习并采用了 POST、GET 以及 ajax 方法。后端的功能就只是接收前端信息、查询数据库、发送查询信息,功能比较固定,所以代码结构都大同小异,主要的难点在于调试,因为不了解如何查看php和SQL Server的错误信息,所以只能在浏览器中对接收到的数据进行分析,这对调试造成了一定难度。 数据库方面,为了实现模糊查询等功能,了解了LIKE 语句和正则表达式,但由于 SQL Server 对正则表达式的支持较差,所以未能实现更高级的查询。网络上大部分的资料是针对 MySQL,所以某些问题都是自己看文档解决,极大的提高了看文档的能力。不过未来如果做相关项目,还是采用 MySQL方便一些。 在编写网页途中发现某些属性的问题,与 赖林华 讨论后得到了比较好的解决。他对数据库的设计比我强,而且他在数据库中添加的 Trigger 也极大地方便了后端的编写。在此对他表示感谢。 从这次系统设计,学习了数据库的操作,包括增、删、改、查,以及网页前后端的基础知识。不足之处在于对网页的知识较少,网页样式比较简单,同时某些功能由于时间不足并未实现。
当时懵懵懂懂,在网上查到啥就用啥,所以导致不同页面所采用的技术完全不同,写到最后根本不可能修改前面的东西。所以最好采取模块化,这样修改一个模块可以不影响其他东西。
目标
- 最基本的:可以通过访问网址访问得到
- 能实现一定功能
- 如果能通过广告赚钱那是最好不过了
软件准备 2020/01/04
在网上查了点资料,感觉目前已经有 Wordpress 了,就没必要从零开始造轮子了,不妨在 wordpress 的基础上逐渐添加自己的代码。服务端打算采用 LNMP,虽说 LAMP 更加强大一点,但 LNMP 对服务器配置的要求没那么高,而且我的水平还用不上 LAMP。下面是安装过程:(参考了 https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-lemp-on-ubuntu-18-04)
配置Linux
首先新建一个非 root 用户(用 root 太不安全了),并且设置 sudo 权限:
1 |
|
然后设置防火墙:
1 |
|
然后切换到非 root 用户,执行下列步骤。
下载Nginx
Nginx是一个高性能的HTTP代理服务器,可以直接通过 apt 安装:
1 |
|
然后将 Nginx 添加到防火墙白名单中:
1 |
|
安装好后 Nginx 会自启动,我们可以试着在浏览器中访问服务器地址,如果看到 Welcome to nginx! 的页面则说明安装成功。
下载Mysql
Mysql 是一个数据库系统,也可以直接通过 apt 安装:
1 |
|
然后设置数据库密码:
1 |
|
按照提示来就可以了。
然后进入 mysql:
1 |
|
添加数据库:
1 |
|
添加用户:
1 |
|
更新设置:
1 |
|
退出 sql:
1 |
|
下载PHP
PHP 是后端处理动态请求的软件,我们需要安装 php、php-fpm、php-mysql等:
1 |
|
然后执行:
1 |
|
配置Nginx
打开nginx的默认配置文件,修改使其支持php:
1 |
|
修改为:
1 |
|
保存修改退出,先测试有没有错误:
1 |
|
重启nginx:
1 |
|
新建一个phpinfo.php:
1 |
|
输入以下内容:
1 |
|
保存退出,浏览器访问 你的IP或者域名/phpinfo.php
能正常显示php7.2-fpm的配置信息说明lnmp环境就搭好了。
安装phpmyadmin(有问题,暂时不装)
phpmyadmin是数据库管理软件,要是你想能鼠标点点就看见表格、数据这些的,建议安装,不然就只能命令行敲代码了
1 |
|
安装过程中会提示输入mysql密码和设置root登录密码,安装完成访问 你的IP或者域名/phpmyadmin
下载并配置 wordpress
下载 wordpress-5.3.2-zh_CN.zip
,这个可以在 https://cn.wordpress.org/
上找到,但很不幸,貌似该网站出了点问题,所以只能在百度上搜一下。
下载好后,把解压出来的文件放在 /var/www 下,然后执行:
1 |
|
赋予 Nginx 权限:
1 |
|
这里www-data是nginx的默认运行用户。
输入:
1 |
|
复制里面的内容。然后打开:
1 |
|
并将复制的内容复制到里面对应位置,同时修改以下内容:
1 |
|
wordpress 的 nginx 配置文件
创建wordpress的nginx配置文件:
1 |
|
里面内容是:
1 |
|
最好把 /etc/nginx/sites-available和/etc/nginx/sites-enabled下的其它配置文件删掉,不然容易出现问题。之后重启nginx:
1 |
|
搭建开发环境 2020/01/05
咱用的是 Windows,所以还得在装一次,不过这次我们采用 LAMP(因为有一键安装包 XAMPP 可用)
首先下载XAMPP,选择 PHP 和 Linux 上相同的版本,然后安装,建议安装到 D 盘,避免出现读写权限相关的错误。(如果出现端口错误,自行改端口,或在任务管理器中禁用占用端口的服务)
然后下载wordpress,同样安装与 Linux 上相同的版本。
(注:我的版本:xampp-windows-x64-7.2.26-0-VC15-installer.exe 和bitnami-wordpress-5.3.2-0-module-windows-x64-installer.exe)
顺便记录一下,我装完后,Apache 显示有个 example.com 出错了,已停止。但我看 wordpress 还是能访问,所以估计是什么 bug 吧……
wordpress插件
以下是一些必要的插件:
- all-in-one-wp-security-and-firewall 防火墙
- useso-take-over-google 替换掉谷歌字体,加速国内访问
- wp-editormd markdown编辑器