Jordan Miguel Postado Dezembro 11, 2012 Compartilhar Postado Dezembro 11, 2012 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: 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: 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: 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. 1 Link para o comentário Compartilhar em outros sites More sharing options...
Andre Juliano Postado Dezembro 11, 2012 Compartilhar Postado Dezembro 11, 2012 Muito bom Jordan, vai me ajudar muito. Obrigado. WebChamp - Hospedagem de Sites, Revenda de Hospedagem, Revenda de VPS, Servidores Virtuais (OpenVZ / KVM). Link para o comentário Compartilhar em outros sites More sharing options...
Anger Postado Dezembro 12, 2012 Compartilhar Postado Dezembro 12, 2012 Ótimo tutorial! Parabéns! Ajude o fórum! Antes de postar, leiam as regras de postagem aqui. Link para o comentário Compartilhar em outros sites More sharing options...
BRANIX Postado Dezembro 12, 2012 Compartilhar Postado Dezembro 12, 2012 Parabéns Jordan! Link para o comentário Compartilhar em outros sites More sharing options...
Jesmarcelo Postado Dezembro 15, 2012 Compartilhar Postado Dezembro 15, 2012 Ótimo tutorial, depois posta um de configuração do qmail também rs. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados