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
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
发现出现错误
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"
重新安装
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服务。
F:\mysql\mysql-5.6.15-winx64\bin>net start mysql mysql 服务正在启动 ... mysql 服务无法启动。 系统出错。 发生系统错误 1067。 进程意外终止。
有发现错误这个错误当时我找了好久,问了好些人,然后查看日志终于发现错误了
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,解决了
停止服务: bin>net stop mysql bin>mysqladmin -u root shutdown 启动服务: bin>net start mysql 在mysql\bin目录中,双击mysqladmin.exe文件 计算机管理->服务->启动mysql服务
5、(本地)登录mysql数据库
还在上面的命令窗口里面,输入命令:mysql -u root -p
回车后
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;
这段命令的含义是,添加一个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
下载并安装
配置httpd.conf 使得 apache能让php工作
在最后填下
LoadModule php5_module "F:/php/php5apache2_2.dll" AddHandler php5-script .php AddType text/html .php
修改默认索引
#修改为 DirectoryIndex index.php index.html
三:安装nginx
下载http://nginx.org/download/nginx-1.5.7.zip
然后直接解压缩到文件下
开启
start nginx 就可以了
四:最后就剩安装php
安装下载地址很多地方都有
php:http://windows.php.net/downloads/releases/ 这下面找对应的软件
解压到安装目录下
设置环境变量,我的电脑->属性->高级系统设置->高级->环境变量->在path变量里加上F:\php
把php目录下的php.ini-development拷贝为php.ini
打开php.ini
修改路径
extension_dir = "F:\PHP\ext"
要把mysql前的分好去掉
测试mysql是否支持
<?php phpinfo(); ?>
最后测试php 连接mysql
<?php $conn=mysql_connect("localhost","root","") or die(mysql_error()); if($conn){ echo "connect success"; }else{ echo "can not connect"; } mysql_close($conn); ?>
ok,搞定
现在我们最后测试 让nginx支持php
nginx支持php
一、首先是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配置
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!