服务端的学习

Apache2.4.34 的安装及配置

1.基本安装

最新的 Apache 已经不提供 Windows 的安装版本,所以我们这里使用的是解压版

-下载地址:https://www.apachelounge.com/download/

-使用说明:https://httpd.apache.org/docs/current/platform/windows.html

安装方式如下

1.注意:需要使用管理员身份运行命令行!!!
2. 切换到 Apache 解压路径中的 bin 目录
3.# $ cd <解压目录>/bin
4.安装 Apache 服务,‐n 参数是指定服务名称
5.# $ httpd.exe ‐k install ‐n "Apache"
6.如果需要卸载 Apache,可以执行以下命令
7.# $ httpd.exe ‐k uninstall ‐n "Apache"

执行安装命令过后会报一个错,原因是默认的配置文件有问题,需要先调整一下配置文件 ==conf/httpd.conf== ,才能正常启动服务。

找到 Apache 解压目录中的 conf 目录下的 httpd.conf 文件,定位到 37 行,将 c:/Apache24 改为解压目录,我这里解压到路径是 C:/Develop/apache ,所以我这里修改

修改完以后,执行以下命令重新测试配置文件是否通过。

$ httpd.exe ‐t

这里依然报错:

随即,我们发现这个配置文件中有很多默认配置选项中的路径都是 c:/Apache24 ,所以我们批量都修改为我们解 压的目录路径。 然后重新执行 httpd.exe -t 测试配置文件,这时候应该提示 Syntax OK 。

如果有关于 ServerName 的警告提示,不用管它,暂时还不会影响我们接下来的使用和操作。

接着运行以下命令重新启动 Apache 服务:

# 注意:需要使用管理员身份运行命令行!!!
$ httpd.exe ‐k start ‐n "Apache"
# 重新启动 Apache 服务
$ httpd.exe ‐k restart ‐n "Apache"
# 停止 Apache 服务
$ httpd.exe ‐k stop ‐n "Apache"

回到浏览器中,地址栏输入:http://localhost/,回车访问,这时正常应该看到 It works!

如果无法访问 请查看80 端口是否被占用

可以直接在httpd.conf 中改端口 访问

注意:

1.确保配置文件语法检查通过
2.确保 80 端口没有被其他程序占用
3.确保防火墙允许 80 端口的请求,或者干脆关掉防火墙
4.如果出现 Forbidden 情况,确保配置文件 httpd.conf 中 247 行( DocumentRoot 之后)的 Directory 配置的与 DocumentRoot 路径相同
5.我们在开发阶段大多数都是自己访问自己机器上的网站,那这种情况下,我们既是服务端又是客户端。 对于新手来说,最常见的问题就是分不清楚哪是客户端应该有的,哪是服务端应该有的。这种时候一定要保持清醒,客户端局限在浏览器窗口,代码以及 Apache 相关的文件和配置都是放在服务端的。

网站根目录

网站根目录就是存放我们网站文件的最顶层目录,通常 URL 中域名后面的第一个斜线对应(映射)的就是网站根目录。 默认文档指的是我们在访问某一个目录时(没有指定具体的文件),默认访问的文件叫做默认文档 注:动态网站情况会比较特殊,需要单独考虑,不一定是这个规则。

默认 Apache 的网站根目录是安装目录中的 htdocs 文件夹,为了方便对网站文件的管理,一般我们会将其设置在一个自定义目录中(如果你不介意其实不修改也无所谓)。 如果需要设置网站根目录,可以通过修改配置文件 httpd.conf 中的网站根目录选项切换。

默认文档

当客户端访问的是一个目录而不是具体文件时,服务端默认返回这个目录下的某个文档(文件),这个文档就称之为 默认文档。

配置文件 httpd.conf 的 280 行的 DirectoryIndex ,默认文档可以配置多个(有前到后依次去找,找到为止,如果没找到任何一个则启用目录浏览):

2.虚拟主机的配置

如果一台机器上只有一个网站的话,没有任何问题,但是如果想要在一台机器上部署多个站点,就必须通过配置虚拟主机的方式解决。

由于后期对虚拟主机的配置操作非常常见,所以我们一般将虚拟主机的配置单独放到一个配置文件中,然后在主配置文件中引入,避免破坏主配置文件中的其他配置。 Include conf/extra/httpd-vhosts.conf 配置的作用就将另外一个配置文件引入(使其生效)

具体的操作方式就是在主配置文件 httpd.conf 的 505 行取消注释:

然后找到 Apache 的虚拟主机配置文件,添加一个如下的虚拟主机配置节点,然后重新启动 Apache。

这个文件中有两个默认的示例配置,可以注释掉

如果真的要使用 baixiu.com 这个域名的话,就只能通过修改 hosts 文件达到目的,原因很简单:这个域名不是我们自己的,我们没有办法修改这个域名在公网上的 DNS。

如果虚拟主机的端口使用的不是 80 ,则需要在主配置文件中添加一个对这个端口的监听:

PHP7.28 的安装及配置

1.基本安装

官网下载PHP的版本

https://windows.php.net/download#php-7.2

最好解压在与服务器同一个文件夹中 方便管理(纯英文路径)

接下来,在Apache中添加支持

httpd.conf中
# php support
LoadModule php7_module C:/Develop/php/php7apache2_4.dll
#最好手打 容易出错

然后在 <IfModule mime_module> 节点中添加 .php 扩展名解析支持

# parse .php files
AddType application/x‐httpd‐php .php

默认文档配置节点 <IfModule dir_module> 中添加 index.php

默认文档指的是在访问一个目录而不是具体文件名时,默认执行的文件名

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

重启 Apache,打开浏览器测试

MySQL8.0 的安装

1.基本安装

1.解压到纯英文路径(最好还是一个目录下) 2.解压目录添加 my.ini

参考:

http://www.cnblogs.com/Ray-xujianguo/p/3322455.html https://gist.github.com/hanjong/1205199 https://dev.mysql.com/doc/refman/5.5/en/mysqld-option-tables.html

[mysqld]
# MySQL 安装目录
basedir=C:/Develop/mysql
# 数据文件所在目录
datadir=C:/Develop/mysql/data

3.以管理员身份运行 CMD 执行以下命令,安装一个 MySQL 服务

# 定位到安装目录下的 bin 文件夹
$ cd <MySQL安装目录>/bin
# 初始化数据所需文件以及获取一个临时的访问密码
$ mysqld ‐‐initialize ‐‐user=mysql ‐‐console
# 将 MySQL 安装为服务 可以指定服务名称
$ mysqld ‐‐install MySQL

4.登入 MySQL 服务器,重置密码

# 先通过用户名密码进入 MySQL 操作环境
$ mysql ‐u root ‐p
Enter password: # 输入临时密码
# 设置数据库访问密码,一定要加分号
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

注意:

删除 全局删除mysql服务

sc delete 服务名称

2.与php连接起来

1.如果需要使用 MySQLi 扩展,需要在 php.ini 文件中打开这个扩展(解除注释)

如果没有php.ini 将下方的两个后缀改成ini 即可

在php.ini中查找

解开注释即可

然后在服务器中打开php文件

显示这个就成功开启了连接

原文来源 :https://xuanjidd.xyz

Apache2.4.34 + php 7.28 + MySQL8.0.12 安装及配置的更多相关文章

  1. MySQL8.0.12 安装及配置、读写分离,主从复制

    一.安装 1.从网上下载MySQL8.0.12版本,下载地址:https://dev.mysql.com/downloads/mysql/ 2. 下载完成后解压 我解压的路径是:D:\Java\mys ...

  2. mysql-8.0.12安装和配置

    1.下载Mysql8.0.12压缩包.下载地址:https://dev.mysql.com/downloads/file/?id=480557 2.解压文件到本地指定目录.这里我的mysql根目录是: ...

  3. MySQL8.0.12安装及配置

    一.下载 下载页面http://dev.mysql.com/downloads/mysql/ 选择系统平台后,点击download(根据系统选择64或32位) 二.配置 1.下载成功后,解压安装包到要 ...

  4. 【MySQL-123】MySQL8.0.12 安装于Win10

    参考blog:MySQL8.0.12 安装及配置 [坑一]输入net start mysql时,MYSQL服务无法启动. 问题:第三步my.ini文件编码错误. 解决方案:https://blog.c ...

  5. MySql-8.0.12 安装教程

    MySql-8.0.12 安装教程随笔https://www.cnblogs.com/CrazyDemo/p/9409995.html MySQL 安装https://m.runoob.com/mys ...

  6. windows系统-phpstudy升级mysql8.0.12安装教程及修改密码和安装注意事项

    1.下载安装包,下载地址:mysql8.0.12  .如果你想要下载其它版本可以选择:mysql历史版本地址. 2.下载好,删除phpstudy的mysql目录.如果数据重要的,注意备份数据!同意把m ...

  7. MySql 8.0.12安装、配置

    1. 参考:① 菜鸟教程下载安装MySQl ② 8.0.12安装方法 以下是我遇到的问题: 2.执行 mysqd --initialize --console 后,这个时候运行突然报"无法启 ...

  8. windows下Mysql8.0.12安装详解

    MySQL的安装过程还是比较繁琐,为了以后安装节约时间,将其详细安装过程总结如下: 1>下载对应版本 下载地址:https://dev.mysql.com/downloads/mysql/ 2& ...

  9. win10下解压版mysql-8.0.12安装教程

    内容转载于:https://blog.csdn.net/hust_hqq/article/details/80572133 在他之上添加了一个:服务名无效的解决方法 1.官网下载安装包 网址:http ...

随机推荐

  1. Javascript获取For循环所用时间

    第一种: let tOne = new Date().getTime(); let n = new Date(); let hour = n.getHours() < 10 ? "0& ...

  2. pmp心得

    我报名比较晚,等缴费最后期限,才缴费,下定决心,开始正式的备考. 我的工作比较忙,备考时间特比较短,从拿到书到考试只有二个月了,心理慌慌的,期间还有一门其他的考试,在5月底,实际时间只能有20来天. ...

  3. 【Oracle】查看被锁的表和解锁

    --以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$proce ...

  4. 修改UIView的backedlayer为CAShapeLayer

    修改UIView的backedlayer为CAShapeLayer 什么叫backedlayer呢?backedlayer指的是一个View在创建好的时候就已经帮你创建好了一个与View大小一致的CA ...

  5. Microsoft Windows XP SP3 官方原版镜像下载,绝对原版加系列号!

    转:http://blog.sina.com.cn/s/blog_638c2e010100op5z.html 写在前面:1. VOL是Volume Licensing for Organization ...

  6. HttpClient简述

    HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性,它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率 ...

  7. CXF+JAXB处理复杂数据

    CXF+JAXB处理复杂数据   CXF默认使用JAXB 来实现对象和XML之间的映射.在前面的例子 中,使用CXF发布的Webservice,其方法的参数和返回值都是简单类型. 本文讨论对象复杂性的 ...

  8. 远程执行newLISP代码

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/sheismylife/article/details/26393899 newLISP提供了一个简单 ...

  9. Linux环境编程之IPC进程间通信(五):Posix消息队列1

    对于管道和FIFO来说.必须应该先有读取者存在.否则先有写入者是没有意义的. 而消息队列则不同,它是一个消息链表,有足够写权限的线程可往别的队列中放置消息,有足够读权限的线程可从队列中取走消息.每一个 ...

  10. [TJOI2018]智力竞赛

    题目 发现我们需要最大化最小值,基本是二分了 那么我们二分出来一个值我们将小于等于这个值的都删去,现在的问题变成了如何用\(n+1\)条路径覆盖这张图 这不最小路径覆盖吗 于是我就忘了最小路径覆盖怎么 ...