windows环境下Apache+PHP+MySQL搭建服务器

相关文件下载

下载地址
Apachehttps://www.apachehaus.com/cgi-bin/download.plx
PHPhttps://windows.php.net/download
MySQLhttps://dev.mysql.com/downloads/mysql/

MySQL

MySQL配置

当前使用的MySQL版本是8.0.18,在MySQL根目录下新建my.ini文件,下面是基本配置

[mysql]
default-character-set=utf8[mysqld]
# 端口
port=3306
# MySQL用户密码加密方式
# mysql_native_password是8.0之前的加密方式,8.0以后默认是caching_sha2_password
default_authentication_plugin=mysql_native_password
# MySQL文件文件位置
basedir=E:/Server/mysql-8.0.19-winx64
# MySQL数据库存储位置
datadir=E:/Server/mysql-8.0.19-winx64/data/
# 字符集
character-set-server=utf8
# 默认引擎
default-storage-engine=MyISAM
# 最大连接数
max_connections=100
# sql模式
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
初始化数据库

用管理员身份打开cmd,切换到MySQL的bin目录

输入命令 mysqld --initialize-insecure --user=mysql 初始化数据库,该命令行表示初始化数据库,并设置密码为空。

也可以使用 mysqld --initialize --console 进行初始化,会在控制台打印过程,其中有MySQL的初始化密码,用初始化密码登录并修改。

安装与卸载window服务

输入命令 mysqld --install MySQL8 安装windows服务,后面的服务名称为可选项,默认是MySQL

输入命令 sc start MySQL8 启动服务,sc stop MySQL8停止服务,sc delete MySQL8 卸载服务


PHP

php配置

PHP版本7.2.28-nts-v15

下载php时,会有ts和nts两个版本,前者是线程安全,后者是非线程安全,区别主要在线程是否安全,数据是否会污染,运行性能等方面,选择不同版本,Apache的php相关配置也不同。ts版本,Apache直接载入php7apache2_4.dll模块即可

php跟目录下有两个php配置文件,php.ini-developmentphp.ini-production,两个文件没有太多区别,一个用于开发环境,一个用于生产环境,区别也就是开发环境的配置能够看到更多的错误警告。

复制其中一个,后缀更改为ini,按需求修改部分配置

# 开启错误日志
error_log = E:/Server/php-7.2.28-nts-Win32-VC15-x64/php7.2.28nts.log# post传输数据的最大限制,按需更改
post_max_size = 8M# 打开php扩展目录
extension_dir = "ext"# 存放上传文件的临时文件夹
upload_tmp_dir = "C:\Windows\Temp"# 上传文件的最大限制,按需修改
upload_max_filesize = 2M# 单次请求允许上传的最大文件数量,按需修改
max_file_uploads = 20# 启用php扩展,按需修改,以下列举了一些常用扩展
extension=curl
extension=fileinfo
extension=gd2
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql
extension=pdo_sqlite
extension=soap# 设置php时区
date.timezone = Asia/Shanghai# php session保存地址,需要手动创建目录,不然在运行和session相关的程序时会报错
session.save_path = "E:/Server/tmp"

将php目录添加至系统环境变量,打开新的cmd窗口,运行php -v查看php版本,查看php是否正常运行

Apache

apache配置

按需求修改部分配置conf/httpd.conf

# apache目录
Define SRVROOT "/Server/Apache24"# 监听端口
Listen 80# 启用重写模块
LoadModule rewrite_module modules/mod_rewrite.so# 添加虚拟机配置文件
Include conf/vhosts/*.conf

其余配置可以参考Apache配置介绍,配置完成后可以使用httpd -t来测试配置文件是否正确,配置文件错误httpd服务不能启动。

cmd转到apache下的bin目录,运行httpd -k install安装httpd服务

也可以选择使用bin目录下的ApacheMonitor.exe来管理httpd服务

浏览器访问本机地址,可以看到apache默认的网页

为php配置fast-cgi

可以在这里下载mod_fcgid,要选对和apache对应的vc版本。

mod_fcgid.so复制到apache的modules目录下,
在配置文件中添加LoadModule fcgid_module modules/mod_fcgid.so
在适当的位置添加以下配置,下面的设置是为php设置fast-cgi的,可以全局配置,也可以为每个网站或目录单独配置,可以灵活运用,甚至可以为每个网站程序配置不同的php程序,具体可以参考Apache配置介绍

AddHandler fcgid-script .php
FcgidWrapper "E:/Server/php-7.2.28-nts-Win32-VC15-x64/php-cgi.exe" .php# 为Options配置添加ExecCGI
Options ExecCGI

配置好php网站后重启httpd服务,
以上是最小的配置更改,更多详细配置可以按需求百度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

angular.js国际化模块

最近需要将一个项目转化成英文的&#xff0c; 于是发现一个angular模块angular-translate&#xff0c;实现如下&#xff1a; 1.安装包 bower install angular-translate bower install angular-translate-loader-static-files //然后在页面引用进去 <script src"/angul…

触屏网站如何实现返回并刷新

目的 在会员中心等页面常常会遇到进入内页修改信息&#xff0c;返回前一个页面需要更新信息的场景。 思路 用COOKIE记录当前页面是否需要刷新&#xff0c;返回之后再刷新一次页面。 方案 下载js.cookie.js然后引入到项目中 https://github.com/js-cookie/js-cookie 先来一个最简…

更快,更强的.NET 7 发布了

.NET Conf 2022 在昨晚(11⽉8⽇) 11 点 正式开始了&#xff0c;为期三天的会议&#xff08;11⽉8-10⽇&#xff09;&#xff0c; 围绕 .NET 7 展开。相信各位⼩伙伴都已经开始安装 .NET 7 正式版本还有以及相关的开发⼯具。这次 .NET 7 围绕传统的 C# &#xff0c;ASP.NET Core…

Web服务器 - Nginx配置介绍

nginx的配置相对简单&#xff0c;总体来说分为5种模块 全局块&#xff1a;配置影响nginx全局的指令。一般有运行nginx服务器的用户组&#xff0c;nginx进程pid存放路径&#xff0c;日志存放路径&#xff0c;配置文件引入&#xff0c;允许生成worker process数等。events块&…

jvm(Java virtual machine) JVM架构解释

2019独角兽企业重金招聘Python工程师标准>>> JVM 架构解释 每个Java开发者都知道通过JRE【Java运行环境】执行字节码。 但是很多人都不知道JRE是JVM实现的事实。JVM负责执行字节码的分析 代码的解释和运行。 我们应该了解JVM的架构&#xff0c;这对开发者来说是很重…

Hyper-V 嵌套虚拟化

先决条件运行 Windows Server 2016 或Windows 10 周年更新的 Hyper-V 主机。运行 Windows Server 2016 或Windows 10 周年更新的 Hyper-V VM。配置版本为 8.0 或更高的 Hyper-V VM。采用 VT-x 和 EPT 技术的 Intel 处理器&#xff08;AMD-V技术的暂时不支持&#xff09;>Set…

简单的面试题简解思路(搜集)

1. 统计字符串中单词出现次数 "hi how are you i am fine thank you youtube am am "&#xff0c;统计"you"出现的次数。 方法一 : split() function wordCount(str,word){var str str || "";var word word || "";var strArr s…

WinForm(十五)窗体间通信

在很多WinForm的程序中&#xff0c;会有客户端之间相互通信的需求&#xff0c;或服务端与客户端通信的需求&#xff0c;这时就要用到TCP/IP的功能。在.NET中&#xff0c;主要是通过Socket来完成的&#xff0c;下面的例子是通过一个TcpListerner作为监听&#xff0c;等待TcpClie…

905. 按奇偶排序数组

1// 905. 按奇偶排序数组 2/** 3 * param {number[]} A 4 * return {number[]} 5 */ 6var sortArrayByParity function(A) { 7 return A.filter(value > value % 2 0).concat( 8 A.filter(value > value % 2 1) 9 )10}; 转载于:https://www.cnblogs.com/…

关于Java开发需要注意的十二点流程

1.将一些需要变动的配置写在属性文件中 比如&#xff0c;没有把一些需要并发执行时使用的线程数设置成可在属性文件中配置。那么你的程序无论在DEV环境中&#xff0c;还是TEST环境中&#xff0c;都可以顺畅无阻地运行&#xff0c;但是一旦部署在PROD上&#xff0c;把它作为多线…

Unity经典游戏教程之:雪人兄弟

版权声明&#xff1a; 本文原创发布于博客园"优梦创客"的博客空间&#xff08;网址&#xff1a;http://www.cnblogs.com/raymondking123/&#xff09;以及微信公众号"优梦创客"&#xff08;微信号&#xff1a;unitymaker&#xff09;您可以自由转载&#x…

使用webpack搭建个性化项目

安装主包 yarn add webpack webpack-cli webpack-dev-server -D根据项目实际需求安装loaders&#xff0c;webpack-loaders列表 根据项目实际需求安装插件&#xff0c; webpack-plugins列表 常用包列表 包名说明webpackwebpack主程序&#xff0c;配置列表webpack-cliwebpack…

.NET周报【11月第1期 2022-11-07】

国内文章开源安全赋能 - .NET Conf China 2022https://mp.weixin.qq.com/s/_tYpfPeQgyEGsnR4vVLzHg.NET Conf China 2022 是面向开发人员的社区峰会&#xff0c;延续 .NET Conf 2022 的活动&#xff0c;庆祝 .NET 7 的发布和回顾过去一年来 .NET 在中国的发展成果&#xff0c;它…

React - 状态提升

从入门的角度来聊一下React 的状态提升。我们先来看一下React官网是怎么介绍这一概念的&#xff1a;使用 react 经常会遇到几个组件需要共用状态数据的情况。这种情况下&#xff0c;我们最好将这部分共享的状态提升至他们最近的父组件当中进行管理。很简单的一句介绍&#xff0…

saltstack(三) --- salt-httpapi

以下操作均在master上操作 1. 安装api netapi modules&#xff08;httpapi&#xff09;有三种&#xff0c;分别是rest_cherrypy、rest_tornado、rest_wsig&#xff0c;接下来要讲的是rest_cherrypydoc&#xff1a;https://docs.saltstack.com/en/latest/ref/netapi/all/salt.ne…

c++实现二叉搜索树

自己实现了一下二叉搜索树的数据结构。记录一下&#xff1a; #include <iostream>using namespace std;struct TreeNode{int val;TreeNode *left;TreeNode *right;TreeNode(int value) { valvalue; leftNULL; rightNULL; } };class SearchTree{public:SearchTree();~Sear…

一款自用的翻译小工具,开源了

一款自用的翻译小工具&#xff0c;开源了TranslationTool作者&#xff1a;WPFDevelopersOrg - 唐宋元明清|驚鏵原文链接&#xff1a;https://github.com/Kybs0/TranslationTool此项目使用WPF MVVM开发。框架使用大于等于.NET461。Visual Studio 2019。最初是支持以下&#xff1…

JS使用按位异或方式加密字符串

按位异或加密字符串&#xff0c;字符串加解密都是该函数 缺陷是加密密钥使用的字符最好不要出现需要加密的字符串中的字符&#xff0c;一旦出现原字符与加密字符一样额情况&#xff0c;异或结果为0&#xff0c;导致不能还原字符串&#xff0c;可以考虑更改算法避免这种情况 im…

SCSS 实用知识汇总

1、变量声明 $nav-color: #F90; nav {//$width 变量的作用域仅限于{}内$width: 100px;width: $width;color: $nav-color; }.a {//报错&#xff0c;$width未定义width: $width; } 2、父选择器& scss代码&#xff1a; article a {color: blue;&:hover { color: red } } 编…

【ELK集群+MQ】通用部署方案以及快速实现MQ发布订阅服务功能

前言&#xff1a;大概一年多前写过一个部署ELK系列的博客文章&#xff0c;前不久刚好在部署一个ELK的解决方案&#xff0c;我顺便就把一些基础的部分拎出来&#xff0c;再整合成一期文章。大概内容包括&#xff1a;搭建ELK集群&#xff0c;以及写一个简单的MQ服务。如果需要看一…