Ubuntu16安裝配置LNMP(7.1)環境並安裝v8js拓展

  • 在服務器上安裝 Git
sudo apt-get install git

配置環境php

一:安裝 PHP 7.1

  • ppa 方式安裝 php7.1 :
sudo apt-get install software-properties-common
  • 添加 php7 的 ppa
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
  • 更新安裝包
sudo apt-get update
  • 檢驗是否安裝成功,運行命令如若成功就能開始安裝php7.1
apt-cache search php7.1
  • php7.1安裝
sudo apt-get -y install php7.1
apt-get install php7.1-dev
  • 運行php -v查看版本,出現以下結果則爲成功
    clipboard.png

二:安裝php7.1的各個模塊

sudo apt-get -y install php7.1-mysql
sudo apt-get install php7.1-fpm
apt-get install php7.1-curl php7.1-xml php7.1-mcrypt php7.1-json php7.1-gd php7.1-mbstring


php7.2-mcrypt 安裝
apt-get install php-pecl
apt-get install libmcrypt-dev libreadline-dev
pecl install mcrypt-1.0.1
After the successful installation
You should add "extension=mcrypt.so" to php.ini

PS:爲了與我下方nginx配置對應,這裏要將php-fpm監聽接口打開html

vim /etc/php/7.1/fpm/php-fpm.conf 或者 /etc/php/7.1/fpm/pool.d/ 下配置文件
pm.max_children = 5    =>     pm.max_children = 20   最大子進程數
listen = /run/php/php7.1-fpm.sock    =>     listen = 127.0.0.1:9000
重啓:service php7.1-fpm restart

三:安裝 mysql

  1. 安裝命令
sudo apt-get install mysql-server mysql-client

ps:安裝過程當中須要輸入 2 次密碼確認,安裝完成後mysql -u root -p登錄測試,能正常登錄即安裝完成。exit;退出 mysql,ubuntu16 安裝的mysql版本爲mysql-5.7,如若不是須要升級執行如下操做:mysql

cd ~
wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb

選擇mysql5.7按OK繼續
更新包索引nginx

sudo apt-get update

安裝git

MySQL-server:sudo apt-get install mysql-server

升級數據庫sql

sudo mysql_upgrade -u root -p

重啓數據庫

mysql:server:sudo service mysql restart

登錄 mysql 查看是否已經升級完畢apache

四:安裝 Nginx

  • 檢查服務器是有存在apache2,如若存在卸載,執行如下操做
sudo service apache2 stop
 update-rc.d -f apache2 remove
 sudo apt-get remove apache2
  • 卸載完畢或原不存在執行如下操做
更新包列表: sudo apt-get update
安裝Nginx: sudo apt-get install nginx
重啓Nginx: service nginx restart
  • 測試
    輸入服務器地址能訪問到自帶歡迎頁面

五:配置 PHP

sudo vim /etc/php/7.1/fpm/php.ini
命令行模式下輸入/進入查找模式
搜索fix_pathinfo將cgi.fix_pathinfo=1改成cgi.fix_pathinfo=0json

六:配置 Nginx

  • 打開nginx配置文件
sudo vim /etc/nginx/sites-available/default
  • 編輯修改,例如
server {
        listen 80;
        server_name mycode.test.top;
        root "/home/Code";
    
        index index.html index.htm index.php;
    
        charset utf-8;
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
    
        location = /favicon.ico { access_log off; log_not_found off; }
        location = /robots.txt  { access_log off; log_not_found off; }
    
        access_log off;
        error_log  /var/log/nginx/mycode.test.com-error.log error;
    
        sendfile off;
    
        client_max_body_size 100m;
    
        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;
        }
    
        location ~ /\.ht {
            deny all;
        }
    
    }
  • 配置成功後查看是否正確
service nginx configtest

配置好以後,運行Nginx -t若是出現報錯,嘗試刪除其餘站點的ipv6only=onubuntu

七:安裝 Composer

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

八:配置v8js拓展

tar zxvf v8js-2.1.0.tgz
  • 進入解壓後目錄
cd v8js-2.1.0/
  • 添加libv8-dev包的倉庫
sudo add-apt-repository -y ppa:pinepain/libv8
  • 更新包列表
sudo apt-get update
  • 安裝libv8-dev
apt-get install libv8-6.6-dev
  • 執行操做
phpize
./configure --with-v8js=/opt/libv8-6.6 
make
make test
cp v8js.so /usr/lib/php/20160303/
  • 配置php.ini填上:extension=v8js.so
  • 重啓fpm與nginx並建立測試文件
<?php
        $v8 = new V8Js();
        /* basic.js */
        $JS = <<< EOT
        len = print('Hello' + ' ' + 'World!' + "\\n");
        len;
        EOT;
        try {
          var_dump($v8->executeString($JS, 'basic.js'));
        } catch (V8JsException $e) {
          var_dump($e);
        }
     ?>

訪問文件成功或者訪問phpinfo存在v8js則安裝成功

若是出現如下錯誤:

configure: error: Please reinstall the v8 distribution
表示沒有安裝libv8*-dev的包

checking for libv8_libplatform... checking for libv8_libplatform... configure: error: could not find libv8_libplatform library表示安裝libv8-dev包的版本過低了

相關文章
相關標籤/搜索