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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 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
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
存储 SQL 缓存
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
快手 OLAP 系统为内外多个场景提供数据服务,每天承载近 10 亿的查询请求。原有湖仓分离架构,由离线数据湖和实时数仓组成,面临存储冗余、资源抢占、治理复杂、查询调优难等问题。通过引入 Apache Doris 湖仓一体能力,替换了 Clickhouse ,升级为湖仓一体架构,并结合 Doris 的物化视图改写能力和自动物化服务,实现高性能的数据查询以及灵活的数据治理。
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
|
2月前
|
Ubuntu Java 应用服务中间件
如何通过 Apt-Get 在 Ubuntu 14.04 上安装 Apache Tomcat 7
如何通过 Apt-Get 在 Ubuntu 14.04 上安装 Apache Tomcat 7
67 0
|
2月前
|
关系型数据库 MySQL 应用服务中间件
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
这篇文章介绍了如何在Windows 7系统上搭建PHP、MySQL和Apache环境,并部署ECShop项目,包括安装配置步骤、解决常见问题以及使用XAMPP集成环境的替代方案。
42 1
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
|
2月前
|
Ubuntu Windows
ARM架构安装ubuntu系统
8月更文挑战第19天
394 0
|
2月前
|
Ubuntu 关系型数据库 MySQL
在 Ubuntu 14.04 服务器上使用 Apache 安装 Drupal 的方法
在 Ubuntu 14.04 服务器上使用 Apache 安装 Drupal 的方法
21 0
|
2月前
|
存储 缓存 Ubuntu
如何在 Apache Web 服务器中安装、配置和使用模块
如何在 Apache Web 服务器中安装、配置和使用模块
67 0
|
2月前
|
Ubuntu Java 应用服务中间件
在Ubuntu 16.04上安装Apache Tomcat 8的方法
在Ubuntu 16.04上安装Apache Tomcat 8的方法
17 0
|
2月前
|
安全 Java 应用服务中间件
在CentOS 7上安装Apache Tomcat 8的方法
在CentOS 7上安装Apache Tomcat 8的方法
70 0
|
2月前
|
Ubuntu 安全 Java
在Ubuntu 14.04上安装Apache Tomcat 8的方法
在Ubuntu 14.04上安装Apache Tomcat 8的方法
15 0
|
2月前
|
安全 Java 应用服务中间件
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
122 0

推荐镜像

更多
下一篇
无影云桌面