Ir para conteúdo
  • Cadastre-se

[Tutorial] Instalando Nginx + Php-Fpm + Apc + Mysql No Centos 5


Jordan Miguel

Posts Recomendados

Pessoal, fiz um tutorial baseado no da rpmforge para a instalação do nginx + php-fpm + apc + mysql para o blog da BrasilHOSP, porém, acho que é de grande valia para vocês também, então, o conteúdo está abaixo:

Fonte: http://blog.brasilho...o-centos-5.html

O Nginx é um servidor http de alta performance aberto(open source); é conhecido por sua estabilidade e grande número de recursos além de sua configuração simples e baixo consumo de recursos. Neste tutorial, mostraremos a você como instalar o nginx em um servidor com o CentOS 5 x86 / i686 e PHP5 (através do PHP-FPM), junto ao suporte ao mysql.

1 – Algumas observações

Para quem utilizar o CentOS 6 ou CentOS 5 x86_64 basta adaptar os links dos repositórios e downloads de acordo com a necessidade do sistema.

Iremos utilizar o IP 192.168.0.10 e hostname nginx.exemplo.com apenas para fins de exemplo, os quais, devem ser substituidos pelo respectivo IP e Hostaname de seu servidor.

2 – Adicionando os repositórios necessários

Precisamos instalar os repositórios dos quais iremos baixar o Nginx e o PHP-FPM já que ambos não estão disponíveis no repositório padrão do CentOS. Iremos trabalhar com o repositório EPEL do fedora, e o repositório REMI.

Trabalharemos dentro do diretório ~ (root)

cd ~

Iremos habilitá-los através dos seguintes comandos:

wget http://download.fedo...-5-4.noarch.rpm

rpm -Uvh epel-release-5-4.noarch.rpm

wget http://rpms.famillec...i-release-5.rpm

rpm -Uvh remi-release-5.rpm

yum -y install yum-priorities

Edite o arquivo /etc/yum.repos.d/epel.repo

nano /etc/yum.repos.d/epel.repo

Agora, adicione priority=10 na seção [epel]:

[epel]

name=Extra Packages for Enterprise Linux 5 – $basearch

#baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch

mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch

failovermethod=priority

enabled=1

priority=10

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

……

Faça o mesmo no arquivo /etc/yum.repos.d/remi.repo na seção [remi], porém, desta vez, mude também o enabled para 1:

[remi]

name=Les RPM de remi pour Enterprise Linux $releasever – $basearch

#baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/

mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror

enabled=1

priority=10

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

failovermethod=priority

……

3 – Instalando o Mysql 5

Iremos instalar o mysql através do yum:

yum -y install mysql mysql-server

Agora, iremos deixá-lo inicializando automaticamente ao efetuar qualquer reboot:

chkconfig –levels 235 mysqld on

/etc/init.d/mysqld start

Agora, verificaremos se o mysql está conectado a rede:

netstat -tap | grep mysql

Deve aparecer algo assim:

tcp 0 0 *:mysql *:* LISTEN 1091/mysqld

Caso não apareça, edite o arquivo /etc/my.cnf e comente a linha que contiver “skip-networking” deixando-a assim: “#skip-networking” e reinicie o mysql (service mysql restart).

Agora, iremos rodar um comando para tornar o mysql mais seguro e setar uma senha de root(ou qualquer um poderá acessar seu serv. mysql):

mysql_secure_installation

[root@nginx ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current

password for the root user. If you’ve just installed MySQL, and

you haven’t set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none):

OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.

Set root password? [Y/n] <– Pressione Enter

New password: <– Digite uma senha para o mysql

Re-enter new password: <– Digite a senha novamente

Password updated successfully!

Reloading privilege tables..

… Success!

By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them. This is intended only for testing, and to make the installation

go a bit smoother. You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] <– Pressione Enter

… Success!

Normally, root should only be allowed to connect from ‘localhost’. This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <– Pressione Enter

… Success!

By default, MySQL comes with a database named ‘test’ that anyone can

access. This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] <– Pressione Enter

– Dropping test database…

… Success!

– Removing privileges on test database…

… Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] <– Pressione Enter

… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MySQL

installation should now be secure.

Thanks for using MySQL!

[root@nginx ~]#

4 – Instalando e configurando o nginx

Como adicionamos o epel como um repositório, poderemos instalar o nginx também através do yum:

yum -y install nginx

Para mantê-lo inicializando junto ao sistema:

chkconfig –levels 235 nginx on

/etc/init.d/nginx start

Caso receba um erro assim:

[root@nginx ~]# /etc/init.d/nginx start

Starting nginx: [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

Será o apache ocupando a porta que o nginx tomará conta, então remova o apache e reinicie o nginx:

yum -y remove httpd

service nginx restart

Agora, digite o IP de seu servidor no navegador, e deve aparecer uma página parecida com esta:

nginx-1-1024x366.jpg

5 – Instalando o PHP + APC + Extensões

Instalamos o php e suas extensões necessárias usando o YUM:

yum -y install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy php-pecl-apc

Agora, edite o arquivo /etc/php.ini e mude a linha “;cgi.fix_pathinfo=1” para “cgi.fix_pathinfo=0” (descomentada).

Para evitar erros do tipo:

[12-Dec-2012 15:40:21] PHP Warning: phpinfo(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting…

Edite o arquivo /etc/php.ini e mude a linha “;date.timezone =” para “date.timezone = “America/Sao_Paulo”” (descomentada).

Agora, adicionaremos o php-fpm ao init.d para que ele inicie com o sistema:

chkconfig –levels 235 php-fpm on

/etc/init.d/php-fpm start

6 – Configurando o Nginx

A configuração está localizada em /etc/nginx/nginx.conf, abriremos para efetuar algumas alterações:

nano /etc/nginx/nginx.conf

6.1 – Mudaremos o número de worker_processes de 1 para 4 e o keepalive_timeout de 65 para 5.

6.2 – Na linha ”index index.html index.htm;” adicionaremos a index.php para que o sistema identifique a index em php, ficará assim:

index index.php index.html index.htm;

6.3 – Descomente as seguintes linhas e as modifique da seguinte forma:

nginx-21.jpg

Salve e atualize as configurações do nginx através deste comando: service nginx reload

Agora, criaremos um arquivo no diretório /usr/share/nginx/html chamado info.php com o seguinte conteúdo:

<?php phpinfo(); ?>

Vamos chamar o arquivo no navegador para verificar se está tudo funcionando:

http://IP-DO-SEU-SERVIDOR/info.php

Isto, deve retornar a página de detalhes do PHP:

nginx-3-300x300.jpg

Prontinho! O servidor está pronto para utilização. Basta enviar os arquivos para /usr/share/nginx/html e começar a usufruir do que foi configurado.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?