深入浅出学习前端开发(环境搭建篇)

前言

这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程.

个人学习方法分享 整体学习路线分享 上文:深入浅出学习前端开发(入门篇)

本文阅读建议
1.一定要辩证的看待本文.
2.准备进行基础的后台环境搭建学习.
3.本文是基于前端学习的后台环境搭建(AMP方向)
4.本文只阐述学习路线和学习当中的重点问题.需要读者自己使用百度进行拓展学习.
5.觉得哪里不妥请在评论留下建议~
6.觉得还行的话就点个小心心鼓励下我吧~

目录
1.概念
2.完整流程
3.Apache服务器
4.PHP脚本语言
5.MySQL数据库

推荐书籍 & 网站推荐

Head First PHP&MySQL

网站:在线文档API查询


概念

开发环境是指搭建后端数据库环境以及服务器脚本语言支持环境.没有这个环境就无法运行服务器脚本语言,操作数据库里的数据.

静态网页&动态网页

静态网页一般是指由纯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服务器端软件之一。

角色说明

Apache不是服务器,是一款服务器应用软件,还有Nginx也是同类软件,Apache不仅用来承载网页,更为PHP等服务器脚本语言提供了运行环境.

在本文主要为PHP提供了运行环境,可以运行后缀为PHP的脚本文件,如果没有Apache,计算机/服务器讲不识别PHP文件.


Windows安装

windows用户请自行百度Apache下载以及安装教程.在此不赘述. 因为windows有用户图形界面,则下面指令均是在Mac环境下使用.

流程:安装包=>修改配置文件=>配置环境变量=>每次修改配置文件记得重启Apache

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在这里当做一门服务器脚本语言使用,其环境需要更改Apache配置文件才可以支持.

其角色为,在Apache环境下,处理从Apache挂载过来的客户端请求,PHP内置了对MySQL数据库的操作模块,解锁以后,可以根据请求,对数据库进行增删改查操作.


Windows安装

windows用户请自行百度PHP官网下载以及安装教程.在此不赘述.

流程:部署安装包=>在httpd.conf挂载PHP模块=>配置PHP.ini文件=>测试运行php文件

Mac安装

1.前往/private/etc/apache2目录下寻找httpd.conf
2.解注释#LoadModule php7_module libexec/apache2/libphp7.so
注意:php版本根据系统不同而不同.
3.终端执行'sudo cp /etc/php.ini.default /etc/php.ini'
4.终端执行'sudo apachectl restart'
5.将'<?php phpinfo() ?>'内容的php文件放在Apache服务器目录下,测试运行,输出phpinfo界面,php安装成功.

文章推荐: PHP基础学习笔记总结


数据库

数据库,是网页应用以及移动端应用,俗称"后端"开发,是一个应用的灵魂,一个应用是否强大,和这个应用的后台开发工程师水平有关.后端开发工程师越强大,应用就越强大.

其中有NoSQL,MogoDB,Oracle,SQLServer,这里目前使用MySQL.

MySQL简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

角色说明

MySQL是数据库的一种,他拥有增删改查的操作指令,其角色为服务器交互与业务数据的存储.

一个项目是否健壮,功能是否强大都与后端数据库有着紧密的联系.


Windows安装

windows用户请自行百度MySQL官网下载以及安装教程.在此不赘述.

流程:安装MySQL(配置选项较多)=>PHP.ini解锁MySQL.dll文件扩展=>测试使用PHP联结数据库.

Mac安装

两种安装方式:
本文推荐使用brew包管理工具进行安装.
1.终端运行brew install mysql 
2.Error 2002报错:终端运行'mysql.server start'显示Starting MySQL SUCCESS!
3.第一次安装成功后终端执行:'mysql_secure_installation'进行初始配置
/*
I.为root用户设置密码
New password:
Re-enter new password:
2.删除匿名账号
Remove anonymous users? [Y/n]
3.取消root用户远程登录
Disallow root login remotely? [Y/n]
4.删除test库和对test库的访问权限
Remove test database and access to it? [Y/n]
5.刷新授权表使修改生效
Reload privilege tables now? [Y/n]
*/
4.终端运行'mysql -u root -p'回车 输入密码.登录成功

目前正在进行MySQL数据库的学习中,在详细学习以后,我会更新并总结此处.


结束语

如果您对这篇文章有什么意见或者建议,请评论与我讨论. 如果您觉得还不错的话~可以点个喜欢鼓励我哦. 如果您想和我一起学习,请毫不吝啬的私信我吧~ 介个是我的个人博客,欢迎参观哦~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

硬盘数据恢复的神器有哪些?

297150
来自专栏古时的风筝

Hexo + github 打造个人博客

前两年开始用 wordpress 搭了一个网站,但服务器是在 Linode 上,之所以要放在 Linode 上,要从买的域名说起,因为我买的域名是 fengzh...

38080
来自专栏漏斗社区

工具| PocSuite 使用介绍

斗哥采访环节 (1)什么是POC? 答:POC是用来验证漏洞是否存在的一段代码,经常对漏洞做检测的同学对写POC这件事应该不陌生吧哈哈。 (2)框架有什么用? ...

63190
来自专栏北京马哥教育

使用monit搭建一个监控系统

马哥linux运维 | 最专业的linux培训机构 ---- 上周用monit搭建或者说定制了一个监控系统,来监控服务器发生事情。当然了主要是监控异常,因为我...

46170
来自专栏Java学习网

Web服务器的工作原理

Web服务器的工作原理 Web服务器工作原理概述 很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来...

453100
来自专栏岑志军的专栏

fastlane实现自动化打包

22320
来自专栏小夜博客

PsTools 微软系统工具增强版

36380
来自专栏逸鹏说道

怎么添加用户到sudo用户组

跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux 前段时间用Ubuntu的sudo用惯了...

346100
来自专栏做全栈攻城狮

C#实现动态网站伪静态,使seo更友好

本教程将使用Visual Studio 2013手把手教你实现webform动态页面的伪静态。本教程配套的C#源码工程可通过我的github下载。地址:http...

15840
来自专栏决胜机器学习

消息队列(一) MySQL实现消息队列

消息队列(一)MySQL实现消息队列 (原创内容,转载请注明来源,谢谢) 一、概述 消息队列(MessageQueue,通常简称MQ)是一种进程间通信或同一进...

1K30

扫码关注云+社区

领取腾讯云代金券