前言
这里筑梦师, 是一名正在努力学习的 iOS 开发工程师, 目前致力于全栈方向的学习, 希望可以和大家一起交流技术, 共同进步, 用简书记录下自己的学习历程.
个人学习方法分享
整体学习路线分享
上文: 深入浅出学习前端开发(入门篇)
本文阅读建议
1. 一定要辩证的看待本文.
2. 准备进行基础的后台环境搭建学习.
3. 本文是基于前端学习的后台环境搭建(AMP 方向)
4. 本文只阐述学习路线和学习当中的重点问题. 需要读者自己使用百度进行拓展学习.
5. 觉得哪里不妥请在评论留下建议~
6. 觉得还行的话就点个小心心鼓励下我吧~
目录
1. 概念
2. 完整流程
3.Apache 服务器
4.PHP 脚本语言
5.MySQL 数据库
推荐书籍 & 网站推荐
Head First PHP&MySQL
网站: 在线文档 API 查询 https://devdocs.io/
概念
本篇文章阅读要求:
有一定的自学能力.
有一些 html 与 CSS 的基础. 如果没有基础推荐先阅读我的这篇文章 <> 进行入门学习
有自己的看法, 辩证进行阅读文章.
静态网页 & 动态网页
静态网页一般是指由纯 HTML&CSS 构建的网页, 不涉及数据存储, 不涉及 JavaScript, 只有一些基础的布局.
没有交互的网页是没有灵魂的, 交互的网站一般都要存储数据, 那么我们日常生活中经常浏览的网页, 都是怎么开发的呢.
完整流程
一个网站的流程, 由前端工程师 使用 HTML+CSS+JavaScript 进行开发静态页面 + 交互效果, 由后端工程师 创建并维护 SQL 数据库, 然后进行本地联调, 数据测试. 测试完毕后由后端工程师使用 Apache 发布网页, 并配置相应站点以及域名.
其中根据前端工程师的水平不同, 项目需求不同, 会使用各种不同的 JS 库: vuejs,NodeJS,AngularJS,ReactJS,jQuery 等, 以及框架.
根据后端工程师的水平不同, 项目需求不同, 会使用 MySQL,NoSQL,Oracle 等.
服务器与网页交互也因水平不同, 可以使用 PHP,Java,Python 等多种语言进行服务器脚本开发, 进行传递数据, 数据处理, 增删改查.
角色具体分为 网页 服务器 数据库.
技能由浅到深分为各个知识点和技能, 详细知识点可以看我的这篇文章<全栈开发学习路线>
服务器
服务器, 也称伺服器, 是提供计算服务的设备. 由于服务器需要响应服务请求, 并进行处理, 因此一般来说服务器应具备承担服务并且保障服务的能力.
上面是百度查的, 下面说一下个人理解, 服务器就是负责承载你网页和数据库以及发布网页发布数据的角色, 本质是一台远程计算机. 但是想要做到发布网页怎么办, 需要用到服务器软件.
服务器软件简介
服务器软件概念请自行百度学习, 目前知名的有 Nginx,Apache,IIS, 因为本人目前学习的事 Apache 所以暂时不讲其他两个, 请自行学习.
Apache
Apache 是世界使用排名第一的 web 服务器软件. 它可以运行在几乎所有广泛使用的计算机平台上, 由于其跨平台和安全性被广泛使用, 是最流行的 Web 服务器端软件之一.
Windows 安装
windows 用户请自行百度官网下载以及安装教程. 在此不赘述.
因为 windows 有用户图形界面, 则下面指令均是在 Mac 环境下使用.
Mac 安装
Mac 用户是自带 Apache 的, 打开终端, 输入 apachectl -v 回车. 确认版本.
然后终端运行
sudo apachectl start
输入密码, 然后访问 localhost 显示 It works! 即为开启成功.
网页目录默认在 / Library/WebServer/Documents 中
httpd.conf 配置
当安装 Apache 以后, 怎么进行使用, httpd.conf 就是重点了.
httpd.conf 不仅是 Apache 的主配置文件, 还是终端调用的指令.
open /private/etc/apache2/httpd.conf
可以使用编译器 SublimeText3 或者 Vim 编辑, 我使用的是 VSCode 进行修改.
解注释以下代码 使 apache 可以解析 php
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule php5_module libexec/apache2/libphp5.so
Include /private/etc/apache2/extra/httpd-userdir.conf
自定义本地服务器目录
但是每次向默认文件夹拷贝都需要权限, 那么可以进行自定义目录.
首先是前往 / private/etc/apache2/extra / 目录 修改 httpd-userdir.conf
解注释 Include /private/etc/apache2/users/*.conf
前往 / private/etc/apache2/users / 目录
添加以你的用户名命名的 conf
文件内容如下:
- <Directory "/Users/dream/Sites/"> // username 需要修改
- Options Indexes MultiViews
- AllowOverride All
- Order allow,deny
- Allow from all
- </Directory>
然后就可以实现浏览器访问 localhost/~yourname / 这个地址访问 / Users/dream/Sites / 这个文件夹下的网页文件.
httpd_vhost.conf 配置
这个文件是用来配置多站点虚拟主机的.
多站点虚拟主机是用来配置不同站点解析到不同 IP 地址, 从而达到一台服务器多个网站, 一般在工作中用来绑定子域名等.
首先前往 / private/etc/apache2 / 目录下修改 httpd.conf
解注释 Include /private/etc/apache2/extra/httpd-vhosts.conf
然后前往 / private/etc/apache2/extra / 目录下打开 httpd-vhosts.conf 进行配置
- <VirtualHost *:80>
- ServerAdmin webmaster@dummy-host2.example.com
- DocumentRoot "/usr/docs/dummy-host2.example.com"
- ServerName dummy-host2.example.com
- ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
- CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
- <Directory "/ 路径 / 路径 / 路径">
- Options indexes
order Deny,Allow
Allow From All.
- </Directory>
- </VirtualHost>
1. 配置域名(服务器名)
ServerName ....com
2. 配置站点实际路径
DocumentRoot "目录"
3. 设置访问权限
- <Directory "路径">
- Options indexes
order Deny,Allow
Allow From All.
</Directory>
4. 配置邮件地址.(可选)
ServerAdmin 设置一个邮件地址, 如果服务器有任何问题将发信到这个地址, 这个地址会在服务器产生的某些页面中出现.
5.ErrorLog.(可选)
错误日志存储地址
6.CustomLog.(可选)
自定义日志存储地址
权限说明
Options: 选项, Indexes 用于设定当没有网页显示时, 是否列出当前目录
AllowOverride: 允许覆盖的特性, none 表示不允许覆盖, All 表示可以覆盖.
Order: 表示权限控制顺序, 只有两个:
allow, deny 先允许, 后拒绝
deny, allow 先拒绝, 后允许
Allow from: 允许谁 (ip) 访问
deny from : 拒绝谁 (ip) 访问
服务器脚本语言
服务器脚本语言, 是运行在服务器环境下, 对服务器以及数据库进行操作的语言, 是一个网页环境中必不可少的角色.
其中有 PHP,Java,Python,Node.js 这里目前使用 PHP.
PHP
PHP(外文名: PHP: Hypertext Preprocessor, 中文名:"超文本预处理器")是一种通用开源脚本语言. 语法吸收了 C 语言, Java 和 Perl 的特点, 利于学习, 使用广泛, 主要适用于 Web 开发领域. PHP 独特的语法混合了 C,Java,Perl 以及 PHP 自创的语法. 它可以比 CGI 或者 Perl 更快速地执行动态网页.
目前正在进行 PHP 语言的学习中, 在详细学习以后, 我会更新并总结此处.
数据库
数据库, 是网页应用以及移动端应用, 俗称 "后端" 开发, 是一个应用的灵魂, 一个应用是否强大, 和这个应用的后台开发工程师水平有关. 后端开发工程师越强大, 应用就越强大.
其中有 NoSQL,MogoDB,Oracle,SQLServer, 这里目前使用 MySQL.
MySQL 简介
MySQL 是一个关系型数据库管理系统, 由瑞典 MySQL AB 公司开发, 目前属于 Oracle 旗下产品. MySQL 是最流行的关系型数据库管理系统之一, 在 WEB 应用方面, MySQL 是最好的 RDBMS (Relational Database Management System, 关系数据库管理系统) 应用软件.
目前正在进行 MySQL 数据库的学习中, 在详细学习以后, 我会更新并总结此处.
来源: http://www.jianshu.com/p/fec0b412cc81