jueves, 3 de marzo de 2016

Instalar nginx + php + mysql en Windows

Primero descargarmos nginx, en mi caso es la versión 1.9.12

Lo descomprimos en la unidad C.

Luego descargamos php, usare la versión 5.6.19

Descomprime el archivo de php dentro de la carpeta nginx.

Dentro de la carpeta php abre el archivo php.ini y borrar el punto y coma de las siguientes extensiones para activarlas:


  • extension_dir = “ext”
  • extension=php_bz2.dll
  • extension=php_gd2.dll
  • extension=php_imap.dll
  • extension=php_mbstring.dll
  • extension=php_mysql.dll
  • extension=php_mysqli.dll
  • extension=php_pdo_mysql.dll
  • extension=php_pdo_pgsql.dll
  • extension=php_pdo_sqlite.dll
  • extension=php_pgsql.dll



Vamos a la ruta  c:\nginx\conf para editar el archivo nginx.conf

Abrimos para editarlo y busca estas líneas, quita el signo de gato # para que quede así:

location ~ .php$ {
  root           html;
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_index  index.php;
  fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  include        fastcgi_params;
}

Crearemos un archivo por lotes para iniciar gnix, Iniciar.bat:

@ECHO OFF
c:\nginx\nginx.exe
c:\nginx\php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
ping 127.0.0.1 -n 1>NUL
echo Starting nginx
echo .
echo .
echo .
ping 127.0.0.1 >NUL
EXIT


Y para detener el servicio, Detener.bat

@ECHO OFF
taskkill /f /IM nginx.exe
taskkill /f /IM php-cgi.exe
EXIT


Servidor Nginx en Opera
Servidor Nginx en Opera


Abrimos el navegador en http://localhost para comprobar que funciona.

phpinfo uasndo Servidor Nginx
phpinfo usando servidor Ngibx en Opera


Para ver que php funciona crea una archivo llamado prueba.php con el siguietne código.

<?php
phpinfo();
?>


Instalando mysql


Descargamos el archivo zip para instalar mysql, usaré la versión 5.6.29 el archivo es pesado. Si quiere ahorrarte espacio borra las carpetas mysql-test, Embedded, sql-bench y las carpetas con nombre debug, y además también puedes borrar los archivos .pdb

Los descomprimos dentro de la carpeta de instalación ngnix, renombrandolo a mysql

El archivo my-default.ini lo copiamos en la misma carpeta cambiando el nombre a my.ini

Esta vacio, solamente con comentarios. Vamos a llenarlos con el siguiente contenido.


[client]
port = 3306
socket = c:/nginx/mysql/tmp/mysql.sock
default-character-set = utf8
character-sets-dir = share/charsets

[mysqld]
default-character-set = utf8
init-connect = "set names utf8"
skip-character-set-client-handshake
basedir = ../mysql
datadir = data

#log = off
general-log = off

bind-address = 127.0.0.1

port = 3306

lower-case-table-names = 2

port = 3306
socket = c:/nginx/mysql/tmp/mysql.sock
basedir = c:/nginx/mysql
datadir = c:/nginx/mysql/data
bind-address = localhost
enable-named-pipe
skip-external-locking

key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K

skip-innodb

#skip-networking

#enable-named-pipe

server-id = 1

#log-bin

#innodb_data_home_dir = data
#innodb_data_file_path = ibdata1:1M:autoextend
#innodb_log_group_home_dir = var/
#innodb_log_arch_dir = var/
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit=1
#innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
#safe-updates

[isamchk]
key_buffer = 8M
sort_buffer_size = 8M

[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout


Abrimos el Simbolo de Sistema com Administrador vamos a la ruta C:\nginx\mysql\bin\
y tecleamos:

mysqld --install-manual

Si te aparece error es porque no abriste Simbolo del Sistema como administrador. Si lo hiciste bien debes ver este mensaje: “Service successfully installed”

Ahora teclea:

net start mysql

Si todo salio ya lo tienes instalado, aun falta hacer unos ajustes con respecto a los usuarios cosa pero por ahora es todo.

Para detener el servicio es:

net stop mysql

Para retiralo como servicio es:

mysqld --remove


Ahora configuraremos el usuario root:

mysqladmin -u root password contraseña

Contreseña es la palabra que elegiste como contreña, ahora apra segurar el usuario.


mysql -u root -p

Te pedirá tu contraseña para loguearte. Tecleala y ya estarás en la consola de MySQL.


Si en algun momento necesitas cambiar la contraseña del usuario root teclea:

update mysql.user set password=CONTRASEÑA('nueva_contraseña') where user='root';

Para actualiazar los permisos (privilegios)y salir:

flush privileges; quit;

Obviamente debemos detener Mysql tecleando el comando dentro de la carpeta Unidad:\nginx\mysql\bin\ como Administrador


Por ahora es todo, luego añado como instalar phpmyadmin.

1 comentario:

  1. Hola! tu post me ayudo, sin embargo, "El archivo my-default.ini lo copiamos en la misma carpeta cambiando el nombre a my.ini" no encuentro ese archivo ,my-default que según entiendo deberia estar dentro de mysql. :-(

    ResponderBorrar