Outils pour utilisateurs

Outils du site


install:nginx-php7-fpm

Installer Nginx/Apache + PHP7-FPM

<note important> La procédure traitée sur cette page est à exploiter sur un système sur lequel aucune solution LAMP n'a encore été installée*. </note>

Cette procédure installera sur votre machine :

  • Nginx
  • Apache 2
  • PHP7-FPM
  • MariaDB

* Récupération des mises à jour des paquets :

apt-get update

* Installation de Nginx en front pour le statique, Apache en back pour le dynamique, MariaDB, PHP 7 et VIM (édition)

apt-get install nginx apache2 apache2-doc mariadb-server php7.0 php7.0-fpm php7.0-mysql php7.0-curl php7.0-json php7.0-gd php7.0-mcrypt php7.0-mbstring php-imagick vim

* Activation du mode Rewrite :

a2enmod rewrite

* La configuration de PHP utilisé en ligne de commande est stockée dans /etc/php/7.0/fpm/php.ini. Voici quelques suggestions de modifications :

max_execution_time = 300 
max_input_time = 300 
memory_limit = 256M 
upload_max_filesize = 100M

* Configurer nginx en front :

vi /etc/nginx/sites-available/default
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;

add_header X-Frame-Options SAMEORIGINE;
add_header Referrer-Policy strict-origin-when-cross-origin;

fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 3600;
fastcgi_send_timeout 3600;
fastcgi_read_timeout 3600;
fastcgi_param REMOTE_ADDR $remote_addr;

gzip_vary on;
gzip_comp_level 9;
gzip_http_version 1.1;
gzip_static on;
gzip_min_length 1400;
gzip_types  text/plain text/css image/gif application/x-javascript text/xml application/xml application/xml+rss text/javascript video/x-flv video/mp4 video/ogg video/webm;
vi /etc/nginx/sites-available/default
server {
	listen 80;
	server_name linkuff.com;

	access_log  /var/log/linkuff.com/www/access.log;
	error_log  /var/log//linkuff.com/www/error.log;

	location / {
		proxy_pass http://127.0.0.1:8080/;
	}

	location ~* ^.+.(css|js|xml|jpg|gif|png|svg|ico|swf|flv|mp3|mp4|ogg|webm|eot|woff|ttf)$ {
		root /var/html/linkuff.com/www;
		expires max;
	}
}

* Configurer Apache pour utiliser Nginx :

vi /etc/apache2/ports.conf
Listen 127.0.0.1:8080

<IfModule ssl_module>
	Listen 127.0.0.1:4443
</IfModule>

<IfModule mod_gnutls.c>
	Listen 127.0.0.1:4443
</IfModule>

* Configurer Apache pour utiliser PHP7-FPM :

rm /etc/apache2/mods-enabled/mpm_event.conf
rm /etc/apache2/mods-enabled/mpm_event.load
ln -s /etc/apache2/mods-available/mpm_worker.conf /etc/apache2/mods-enabled/mpm_worker.conf
ln -s /etc/apache2/mods-available/mpm_worker.load /etc/apache2/mods-enabled/mpm_worker.load
service apache2 restart
service nginx restart

* Optimiser le TCP avec php-fpm :

echo "net.core.somaxconn=65335" >> /etc/sysctl.conf
sysctl -p
vi /etc/php/7.0/fpm/php-fpm.conf
listen.backlog = 65535

* Accès MySQL depuis l'extérieur :

mysql> CREATE USER 'user_ext'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'user_ext'@'localhost' WITH GRANT OPTION;
mysql> CREATE USER 'user_ext'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'user_ext'@'%' WITH GRANT OPTION;
install/nginx-php7-fpm.txt · Dernière modification : 2018/05/01 14:58 de linkuff