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

简介:

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
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
10月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
506 0
PHP和Mysql前后端交互效果实现
|
12月前
|
JavaScript Linux PHP
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
330 3
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
993 90
|
关系型数据库 MySQL 分布式数据库
Super MySQL|揭秘PolarDB全异步执行架构,高并发场景性能利器
阿里云瑶池旗下的云原生数据库PolarDB MySQL版设计了基于协程的全异步执行架构,实现鉴权、事务提交、锁等待等核心逻辑的异步化执行,这是业界首个真正意义上实现全异步执行架构的MySQL数据库产品,显著提升了PolarDB MySQL的高并发处理能力,其中通用写入性能提升超过70%,长尾延迟降低60%以上。
|
自然语言处理 测试技术 API
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
829 5
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
647 17
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
508 18
|
Ubuntu Linux PHP
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
439 6

推荐镜像

更多