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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

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
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
关系型数据库 MySQL 数据库
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
27 4
|
5天前
|
应用服务中间件 nginx
yum 安装报错 No package nginx available Error:Nothing to do
yum 安装报错 No package nginx available Error:Nothing to do
14 1
|
7天前
|
关系型数据库 MySQL Linux
Linux联网安装MySQL Server
Linux联网安装MySQL Server
20 0
|
7天前
|
关系型数据库 MySQL Linux
centos7安装mysql-带网盘安装包
centos7安装mysql-带网盘安装包
44 2
|
11天前
|
关系型数据库 MySQL 数据库
Docker安装MySQL
Docker安装MySQL
22 1
|
11天前
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL 安装及连接
MySQL 安装及连接
31 0
|
3天前
|
敏捷开发 监控 数据管理
构建高效微服务架构的五大关键策略
【4月更文挑战第20天】在当今软件开发领域,微服务架构已经成为一种流行的设计模式,它允许开发团队以灵活、可扩展的方式构建应用程序。本文将探讨构建高效微服务架构的五大关键策略,包括服务划分、通信机制、数据管理、安全性考虑以及监控与日志。这些策略对于确保系统的可靠性、可维护性和性能至关重要。
|
15天前
|
API 数据库 开发者
构建高效可靠的微服务架构:后端开发的新范式
【4月更文挑战第8天】 随着现代软件开发的复杂性日益增加,传统的单体应用架构面临着可扩展性、维护性和敏捷性的挑战。为了解决这些问题,微服务架构应运而生,并迅速成为后端开发领域的一股清流。本文将深入探讨微服务架构的设计原则、实施策略及其带来的优势与挑战,为后端开发者提供一种全新视角,以实现更加灵活、高效和稳定的系统构建。
18 0
|
3天前
|
消息中间件 监控 持续交付
构建高效微服务架构:后端开发的进阶之路
【4月更文挑战第20天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。微服务架构作为一种新兴的分布式系统设计方式,以其独立部署、易于扩展和维护的特点,成为解决这一问题的关键。本文将深入探讨微服务的核心概念、设计原则以及在后端开发实践中如何构建一个高效的微服务架构。我们将从服务划分、通信机制、数据一致性、服务发现与注册等方面入手,提供一系列实用的策略和建议,帮助开发者优化后端系统的性能和可维护性。
|
14天前
|
Kubernetes 安全 Java
构建高效微服务架构:从理论到实践
【4月更文挑战第9天】 在当今快速迭代与竞争激烈的软件市场中,微服务架构以其灵活性、可扩展性及容错性,成为众多企业转型的首选。本文将深入探讨如何从零开始构建一个高效的微服务系统,覆盖从概念理解、设计原则、技术选型到部署维护的各个阶段。通过实际案例分析与最佳实践分享,旨在为后端工程师提供一套全面的微服务构建指南,帮助读者在面对复杂系统设计时能够做出明智的决策,并提升系统的可靠性与维护效率。

推荐镜像

更多