Instalando o WordPress no Nginx

Há algum tempo adotei o Nginx como servidor HTTP, e desde então tenho configurado diversos servidores, sempre obtendo bons resultados.
Esta semana precisei configurar um servidor da TownConnect para rodar o WordPress, mas diferente do que já tinha feito, precisava dele em um subdiretório no domínio principal, não em subdomínio ou domínio próprio. Neste exemplo, vou usar a versão estável, Nginx 0.6.34, WordPress 2.7 e o Debian Linux.
Instalando o Nginx
Vamos instalar as dependências do Nginx:
Agora vamos instalar o Nginx:
Você pode optar por instalar usando o apt-get, particularmente eu prefiro assim. Devemos configurar o funcionamento do Nginx:
Agora precisamos criar o daemon para executar o Nginx:
Instalando o PHP CGI
Temos duas opções para instalar o PHP, usando o apt-get ou compilando o código fonte.
Usando o apt-get
Vamos instalar o PHP CGI com suporte a MySQL e o Lighttpd para obter o spawn-fcgi, que vai cuidar dos pedidos ao FastCGI do PHP. Depois de instalados, vamos parar e remover o serviço do Lighttpd, que não é necessário:
O spawn-fcgi deve ser configurado para executar como um serviço. É preciso escolher a porta que vai ser usada, neste caso, a escolhida foi 53987 (aleatoriamente). Desta maneira poderemos reiniciar o servidor sem se preocupar:
E para finalizar:
Compilando o código fonte
Apesar de ser um pouco demorado, particularmente prefiro desta forma. Se você já instalou usando o apt-get, pule esta parte. Vamos instalar as dependências, baixar o código fonte do PHP, o patch PHP-FPM, aplicar o path, compilar e instalar:
Setamos o usuário que vai executar o php-cgi como:
E para finalizar:
Instalando o WordPress
Faça o download do WordPress e siga os passos de 1 a 5 do Famous 5-Minute Install. O sexto passo vamos deixar para depois. O diretório usado para a instalação do WordPress deste tutorial é /var/www/example.com/blog.
WordPress configurado em um domínio
WordPress configurado em um subdomínio
WordPress configurado em uma subpasta do domínio
Agora basta seguir o sexto passo do Famous 5-Minute Install e o WordPress estará instalado e rodando em um dos melhores servidores HTTP, o Nginx.
Copiando uma base MySQL de um servidor para outro

Aqui vai uma dica das minhas horas "brincando" como sysadmin. Normalmente para gerar uma cópia do seu banco de dados mysql, você usa o mysqldump:
$ mysqldump -u usuario -p banco > copia_do_banco.sql |
Para passar o arquivo copia_do_banco.sql para outro servidor basta usar sftp/ssh:
$ scp copia_do_banco.sql usuario@outro_server.com:/backup |
Para subir:
$ mysql -u usuario -p banco < copia_do_banco.sql |
Se você estiver no console do mysql pode optar por:
1 2 |
mysql> USE banco; SOURCE copia_do_banco.sql |
Creio que todo DBA ou Sysadmin sabe disso. Mas temos outros formas de se fazer isto, basta usarmos alguns recursos disponível no shell *nix.
Podemos executar estes mesmo comando em uma só linha, esta forma só deve ser usada em VPN ou redes seguras:
1 2 |
$ mysqldump -u usuario -p banco | mysql -h outro_server banco \ -u usuario -p |
Se você não tem acesso remoto ao banco de dados, podemos usar o ssh:
1 2 |
$ mysqldump -u usuario -p banco | ssh usuario@outro_server.com mysql \ -u usuario -p banco |
Você ainda pode copiar apenas uma tabela do banco para um servidor remoto:
1 2 |
$ mysqldump -u usuario -p banco tabela | ssh usuario@outro_server.com \ mysql -u usuario -p banco |
Estes são alguns exemplos que dá pra fazer com o shell *nix. Prefiro o velho shell e indispensável à sistemas que prometem o mundo.[>
Foto by riotsauce




