Bermula
Saya telah membina persekitaran lamp
pada pelayan sebelum ini dan ingin bertukar kepada satu dengan prestasi yang lebih kukuhnginx
Sebagai perisian pelayan, saya ingin menaik taraf php5 kepada php7
Tidak perlu pergi ke butiran semasa memasang nginx: sudo apt-get install nginx
, ubah suai port apache sebelum memulakan ng.
Pasang php7
Muat turun kod sumber di http://php.net/downloads.php dan nyahzipnya.
# cd php7*** # ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-mcrypt=/usr/include --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache # make # make install
Untuk tidak bercanggah dengan 5, semua folder menggunakan php7 Kebergantungan respons pemasangan apabila ralat dilaporkan semasa proses pemasangan.
Bersambung dengan nginx
nginx sendiri tidak boleh memproses skrip php dan perlu dihantar kepada penterjemah php untuk diproses. nginx secara amnya menghantar permintaan kepada proses pengurusan fastcgi untuk pemprosesan Proses pengurusan fascgi memilih hasil pemprosesan sub-proses cgi dan mengembalikannya kepada nginx.
# cp php.ini-production /usr/local/php7/etc/php.ini # cp sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm # chmod +x /etc/init.d/php7-fpm # cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf # cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
Mulakan php-fpm
# service php7-fpm start
Jika anda menemui laluan fail log yang tidak wujud, buat secara manual dan berikan kebenaran menulis.
# service php7-fpm start Starting php-fpm [07-Apr-2016 11:16:11] ERROR: [pool www] cannot get gid for group 'nobody' [07-Apr-2016 11:16:11] ERROR: FPM initialization failed failed
Apabila menghadapi ralat ini, tambahkan kumpulan tiada siapa groupadd nobody
dan mulakan semula.
konfigurasi nginx
Ini adalah apabila mengakses fail php ia menjadi fail yang dimuat turun kerana ng tidak dikonfigurasikan untuk pemprosesan respons.
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Pembelajaran yang disyorkan: "Tutorial PHP7"