window 下 安装 apache(nginx)+mysql+php架构

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

window 下 安装 nginx+mysql+php架构

首先我的系统是win7 旗舰版     ip地址:192.168.0.224

一:首先安装mysql

http://www.mysql.com/downloads


安装过程


1、解压缩mysql-5.6.15-winx64.zip到一个目录,加入解压缩到F:\mysql目录。

2、编写mysql的运行配置文件my.ini
my.ini
-----------------------------

[WinMySQLAdmin]

# 指定mysql服务启动启动的文件

Server=F:\\mysql\\mysql-5.6.15-winx64\\bin\\mysqld-nt.exe


[mysqld]

# 设置mysql的安装目录

basedir=F:\\mysql\\mysql-5.6.15-winx64

# 设置mysql数据库的数据的存放目录,必须是data,或者是\\xxx\data

datadir=F:\\mysql\\mysql-5.6.15-winx64\\data

# 设置mysql服务器的字符集

default-character-set=gbk


[client]

# 设置mysql客户端的字符集

default-character-set=gbk


3、安装mysql服务

从MS-DOS窗口进入目录:\mysql\mysql-5.6.15-winx64\bin,运行如下命令:

mysqld --install mysql --defaults-file= F:\mysql\mysql-5.6.15-winx64\my.ini

1
2
3
4
5
F:\> cd  mysql
F:\mysql> cd  mysql-5.6.15-winx64
F:\mysql\mysql-5.6.15-winx64>
F:\mysql\mysql-5.6.15-winx64> cd  bin
F:\mysql\mysql-5.6.15-winx64\bin>mysqld -- install  mysql --defaults- file = F:\mysql\mysql-5.6.15-winx64\my.ini

发现出现错误

1
2
3
2013-12-25 10:42:18 0 [Warning] TIMESTAMP with implicit DEFAULT value is depreca
ted. Please use --explicit_defaults_for_timestamp server option (see documentati
on  for  more  details).

在my.ini 里添加这个参数

在mysqld里解决

mysql_args="--explicit_defaults_for_timestamp"

重新安装

1
2
3
F:\mysql\mysql-5.6.15-winx64\bin>mysqld  install  mysql --defaults- file ="F:\mysql\
mysql-5.6.15-winx64\my.ini
Service successfully installed.


4、启动mysql数据库
还在上面的命令窗口里面,输入命令:net start mysql
这样就启动了mysql服务。

1
2
3
4
5
6
F:\mysql\mysql-5.6.15-winx64\bin>net start mysql
mysql 服务正在启动 ...
mysql 服务无法启动。
系统出错。
发生系统错误 1067。
进程意外终止。


有发现错误这个错误当时我找了好久,问了好些人,然后查看日志终于发现错误了

141114913.jpg

141116826.jpg

1
2
3
4
5
6
7
8
9
10
11
12
13
F:\mysql\mysql-5.6.15-winx64\bin>net start mysql
MySQL 服务正在启动 ...
MySQL 服务无法启动。
系统出错。
发生系统错误 1067。
进程意外终止。
F:\mysql\mysql-5.6.15-winx64\bin>mysqld --remove
Service successfully removed.
F:\mysql\mysql-5.6.15-winx64\bin>mysqld -- install
Service successfully installed.
F:\mysql\mysql-5.6.15-winx64\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

ok,解决了

1
2
3
4
5
6
7
停止服务:
bin>net stop mysql
bin>mysqladmin -u root  shutdown
启动服务:
bin>net start mysql
在mysql\bin目录中,双击mysqladmin.exe文件
计算机管理->服务->启动mysql服务

5、(本地)登录mysql数据库
还在上面的命令窗口里面,输入命令:mysql -u root -p
回车后

1
2
3
4
5
6
7
8
9
10
11
F:\mysql\mysql-5.6.15-winx64\bin>mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection  id  is 5
Server version: 5.6.15 MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and /or  its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and /or  its
affiliates. Other names may be trademarks of their respective
owners.
Type  'help;'  or  '\h'  for  help. Type  '\c'  to  clear  the current input statement.
mysql>

好熟悉的页面 这里就ok了


mysql解压缩版初次安装管理员root的密码为空,因此直接再回车一次就登入mysql数据库了。

如果你不是初次登录mysql,你还拥有网络地址的用户,那么你可以用如下命令登录到mysql服务器,这个mysql服务器也许在远方,也许在本地。这种登录方式叫“远程登录”,命令如下:

mysql -h 192.168.0.224 -u root -p

mysql -h 192.168.0.224 -u root -p123456


-h是指定登录ip,-u指定用户,-p指定密码,-p后如果什么都不写,那么接下来会提示输入密码,-p后也可以直接写上密码,这样就不再需要输入密码了。


6、操作数据库和表

登录mysql数据库后,就可以执行指定操作数据库,用命令:use 数据库名

指定了操作的数据库对象后,就可以操作数据库中的表了,操作方法当然是SQL命令了,呵呵。


7、更改mysql数据库管理员root的密码

mysql数据库中默认有个mysql数据库,这个是mysql系统的数据库,用来保存数据库用户、权限等等很多信息。要更改密码,就要操作mysql数据库的user表。

现在mysql的root用户密码还为空,很不安全的,假设要更改密码为“123456”。

还在上面的命令窗口里面,执行如下命令:

use mysql;

grant all on *.* to root@'%' identified by '123456' with grant option;

commit;

141743886.jpg

这段命令的含义是,添加一个root用户,拥有所有的权限,密码为“123456”,并且这个用户不但可以本地访问,也可以通过网络访问。强调这个原因是mysql系统自带的的那个root用户只能从本地访问,它@字符后面的标识是localhost。具体可以查看mysql数据的uer表看看,这样以来,就有两个root用户了,一个是系统原来的,一个新建的,为了管理的方便,就将mysql自带root删除,保留刚创建的这个root用户,原因是这个用户可以通过网络访问mysql。

然后,删除用户的命令:

user mysql;

delete from user where user='root' and host='localhost';

commit;


其实上面的方法是授权命令,在授权的同时创建了数据库用户。mysql也有单独的修改用户密码的方法,下面看看如何操作。

首先,先建立一个用户redhat,密码为:123456

grant all on *.* to redhat@'localhost' identified by '123456' with grant option;

接下来就修改这个用户的密码为:chenhao

update user set password = password('123456') where user = 'redhat' and host='localhost';

flush privileges;


说明一点,最好用grant的方式创建mysql用户,尤其对mysql DBA来说,创建用户的同时要指定用户权限,养成好习惯很重要的。

这个修改方法实际上用的是mysql函数来进行的,还有更多的方法,我就不一一介绍了。

还要注意一点就是在修改密码等操作的时候,mysql不允许为表指定别名,但是初次在外却没有这个限制。


8、创建数据库

实际上mysql数据库中除了mysql数据库外,还有一个空的数据库test,供用户测试使用。

现在继续创建一个数据库testdb,并执行一系列sql语句看看mysql数据库的基本操作。

创建数据库testdb:

create database testdb;


预防性创建数据库:

create database if not testdb


创建表:

use testdb;

create table table1(

username varchar(12),

password varchar(20));


预防性创建表aaa:

create table if not exists aaa(ss varchar(20));


查看表结构:

describe table1;


插入数据到表table1:

insert into table1(username,password) values

('redhat','wwwww'),

('chenhao','hahhahah');

commit;


查询表table1:

select * from table1;


更改数据:

update table1 set password='hehe' where username='redhat';

commit;


删除数据:

delete from table1 where username='redhat';

commit;


给表添加一列:

alter table table1 add column(

sex varchar(2) comment '性别',

age date not null comment '年龄'

);

commit;


从查询创建一个表table1:

create table tmp as

select * from table1;


删除表table1:

drop table if exists table1;

drop table if exists tmp;


9、备份数据库testdb

mysqldump -h 192.168.0.224 -u root -p123456 -x --default-character-set=gbk >C:\testdb.sql


10、删除数据库testdb

drop database testdb;


11、恢复testdb数据库

首先先建立testdb数据库,然后用下面命令进行本地恢复:

mysql -u root -p123456 testdb <C:\testdb.sql


12、删除mysql服务

假如你厌倦mysql了,你需要卸载,那么你只需要这么做

停止mysql服务

net stop mysql

删除mysql服务

sc delete mysql

mysqld-nt --remove

然后删除msyql的安装文件夹,不留任何痕迹


二:安装apache

下载并安装

150825972.jpg

150828750.jpg

配置httpd.conf 使得 apache能让php工作

在最后填下

1
2
3
LoadModule php5_module  "F:/php/php5apache2_2.dll"
AddHandler php5-script .php
AddType text /html  .php

修改默认索引

1
2
#修改为
DirectoryIndex index.php index.html

151349508.jpg

三:安装nginx

下载http://nginx.org/download/nginx-1.5.7.zip

然后直接解压缩到文件下

开启

start nginx 就可以了

143406128.jpg


四:最后就剩安装php

安装下载地址很多地方都有

php:http://windows.php.net/downloads/releases/ 这下面找对应的软件

解压到安装目录下

设置环境变量,我的电脑->属性->高级系统设置->高级->环境变量->在path变量里加上F:\php

把php目录下的php.ini-development拷贝为php.ini

打开php.ini

修改路径

1
extension_dir =  "F:\PHP\ext"


要把mysql前的分好去掉

144838611.jpg

144842192.jpg

144845390.jpg

测试mysql是否支持

1
2
3
<?php
phpinfo();
?>

153155602.jpg


最后测试php 连接mysql

1
2
3
4
5
6
7
8
9
<?php
$conn =mysql_connect( "localhost" , "root" , "" or  die (mysql_error());
if ( $conn ){
  echo  "connect success" ;
} else {
  echo  "can not connect" ;
}
mysql_close( $conn );
?>

152849315.jpg



ok,搞定

现在我们最后测试 让nginx支持php

nginx支持php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
一、首先是PHP配置:
       1 、把所下载的php包解压到硬盘上,以F盘为例,路径: F:/php
       2 、找到文件php.ini-recommended,改名为:php.ini
       3 、打开php.ini,修改如下配置:
           a. 找到extension_dir =  "./"   修改为 extension_dir =  "F:\php\ext"
           b. 修改配置项如下
               enable_dl = On
               cgi.force_redirect =  0
               cgi.fix_pathinfo= 1
               fastcgi.impersonate =  1
               cgi.rfc2616_headers =  1
           c. 配置基本的扩展,可以去掉如下项前的 ";"
               extension=php_curl.dll
               extension=php_gd2.dll
               extension=php_mbstring.dll
               extension=php_mcrypt.dll
               extension=php_mysql.dll
               以上已经够用了,已开启mysql,其他项可以根据具体情况自己再开启扩展
        4 、可以把php.ini复制一份到C:\WINDOWS下
        5 、把php5ts.dll和libmysql.dll复制一份到C:\WINDOWS\system32下


nginx配置

1
2
3
4
5
6
7
location ~ \.php$ {
      root           html;
      fastcgi_pass   127.0.0.1:9000;
      fastcgi_index  index.php;
      fastcgi_param  SCRIPT_FILENAME   /scripts $fastcgi_script_name;
      include        fastcgi_params;
  }

然后重启nginx就可以了

不过下的php版本一定要带cgi!



本文转自 cs312779641 51CTO博客,原文链接:http://blog.51cto.com/chenhao6/1344757
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
相关文章
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
94 16
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
89 14
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
76 7
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
66 3
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
225 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型
探索微服务架构下的API网关设计
在微服务的大潮中,API网关如同一座桥梁,连接着服务的提供者与消费者。本文将深入探讨API网关的核心功能、设计原则及实现策略,旨在为读者揭示如何构建一个高效、可靠的API网关。通过分析API网关在微服务架构中的作用和挑战,我们将了解到,一个优秀的API网关不仅要处理服务路由、负载均衡、认证授权等基础问题,还需考虑如何提升系统的可扩展性、安全性和可维护性。文章最后将提供实用的代码示例,帮助读者更好地理解和应用API网关的设计概念。
83 8
服务架构的演进:从单体到微服务的探索之旅
随着企业业务的不断拓展和复杂度的提升,对软件系统架构的要求也日益严苛。传统的架构模式在应对现代业务场景时逐渐暴露出诸多局限性,于是服务架构开启了持续演变之路。从单体架构的简易便捷,到分布式架构的模块化解耦,再到微服务架构的精细化管理,企业对技术的选择变得至关重要,尤其是 Spring Cloud 和 Dubbo 等微服务技术的对比和应用,直接影响着项目的成败。 本篇文章会从服务架构的演进开始分析,探索从单体项目到微服务项目的演变过程。然后也会对目前常见的微服务技术进行对比,找到目前市面上所常用的技术给大家进行讲解。
79 1
服务架构的演进:从单体到微服务的探索之旅
深入解析微服务架构中的服务发现与负载均衡
深入解析微服务架构中的服务发现与负载均衡
118 7

热门文章

最新文章

推荐镜像

更多