Em servidores web, o mais comum ser utilizado e o Apache, porem existe outro servidor web bastante conhecido e com excelente desempenho de performance. O Nginx.O presente howto explicara os procedimentos de instalacao e configuracao do servidor web Nginx integrado com PHP na distro Debian 8 e CentOS 7. No Debian 8 # apt-get update # apt-get install nginx php5-fpm php5 php5-mysql php5-mcrypt php5-gd php5-mysql mysql-server No CentOS 7 # yum install epel-release # yum update # yum -y install nginx php php-gd php-mysql mysql-server Startar o servico Nginx # service nginx start Habilitar no boot # systemctl enable nginx O diretorio root padrao do Nginx e /usr/share/nginx/www , mas vou alterar para deixar o mesmo diretorio root do Apache, no caso /var/www/html # mkdir -p /var/www/html Ajustes de configuracao para Nginx# vim /etc/php5/fpm/php.ini Procure a linha cgi.fix_pathinfo=1 e troque 1 por 0 cgi.fix_pathinfo=0 # mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.orig Se quiser ativar o SSL no Ngnix, precisara gerar o certificado auto-assinado e a chave. Segue os procedimentos: Criar certificados SSL auto-assinados No Debian # apt-get install openssl ca-certificates No CentOS # yum install openssl Criar os diretorios para o certificado e a chave # mkdir /etc/ssl/nginx/certs # mkdir /etc/ssl/nginx/private Criando os certificados auto-assinados #openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/nginx/private/serverwww.key -out /etc/ssl/nginx/certs/serverwww.crt Ajuste de permissao chmod 600 /etc/ssl/nginx/private/serverwww.key chmod 600 /etc/ssl/nginx/certs/serverwww.crt Backup do arquivo default de configuracao # mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.orig Criar o arquivo default novo de configuracao # vim /etc/nginx/sites-available/default server { listen 80; listen 443 ssl; ssl_certificate /etc/ssl/nginx/certs/serverwww.crt; ssl_certificate_key /etc/ssl/nginx/private/serverwww.key; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !EXPORT !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #root /usr/share/nginx/www; root /var/www/html; index index.php index.html index.htm; server_name www; location / { try_files $uri $uri/ /index.html; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { #root /usr/share/nginx/www; root /var/www/html; } ### Redirects e rewrites # Remove barras no final do endereco rewrite ^/(.*)/$ /$1 permanent; # Redirectiona antigas requisicoes para wp-contents rewrite ^/wp-content/.*/(.*)$ /$1/images/$2 permanent; ### Locations location ~* \.(js|css)$ { # Configuracoes para JavaScripts e CSS gzip_static on; # Compressao GZIP ativada expires 1w; # Browser cache de 1 semana } location ~* \.(jpg|jpeg|png|gif|ico)$ { # Configuracoes para imagens gzip_static on; # Compressao GZIP ativada expires 2w; # Browser cache de 2 semana } # pass the PHP scripts to FastCGI server listening on the php-fpm socket location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }} Crie um arquivo info.php no diretorio root configurado < ?php phpinfo(); ? >Reinicie o servico php5-fpm e Nginx # /etc/init.d/php5-fpm restart # /etc/init.d/nginx restart Acesse no browser: http://IPSERVIDOR/info.php ouhttps://IPSERVIDOR/info.php Feito! O que e CodeIgniter? CodeIgniter e um framework PHP. A primeira versao publica do CodeIgniter foi lancada em 28 de fevereiro de 2006. O CodeIgniter permite que se mantenha o foco em um projeto, minimizando a quantidade de codigo necessario para uma dada tarefa. CodeIgniter foi desenvolvido sobre o paradigma da programacao Orientada a Objetos sob