1. 程式人生 > 資料庫 >wsl安裝php nginx環境和phpredis擴充套件

wsl安裝php nginx環境和phpredis擴充套件

wsl

wsl是可以在windows裡面執行linux的一個軟體。是微軟官方發行的。

安裝php

從php官網下載php tar包。

 sudo wget https://www.php.net/distributions/php-7.4.12.tar.gz

然後解壓

sudo tar -zxvf php-7.4.12.tar.gz

接下來需要安裝一些擴充套件來支援php。

sudo apt-get install gcc make pkg-config libxml2-dev libssl-dev libsqlite3-dev libcurl4-openssl-dev libonig-dev zlib1g-dev libffi-dev libpng-dev libzip-dev

不安裝上面的擴充套件會導致接下來報錯。

切換目錄

cd ./php-7.4.12

執行configure,注意這裡prefix一定要是/usr/local/php7,要不然找不到配置檔案php.ini。這裡有這個坑。

sudo ./configure --enable-fpm --with-mysql --with-pear --with-zip --enable-sockets --enable-soap --with-pdo-mysql  --enable-gd --enable-ftp --with-ffi  --with-zlib  --with-curl --with-openssl --enable-mbstring --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7

執行完上面一步如果沒有錯誤就可以了。

接下來執行make

sudo make && sudo make install

建立軟連線或者環境變數。我們要配置全域性的環境變數有兩種方式。

  • 在環境變數目錄裡面增加軟連線
  • 把php目錄增加到環境變數裡面

我採用的是軟連線的方式。

sudo ln -s /usr/local/php7/bin/php /usr/local/bin/php
sudo ln -s /usr/local/php7/bin/phpize /usr/local/bin/phpize
sudo ln -s /usr/local/php7/sbin/php-fpm /usr/local/bin/php-fpm

接下來就可以全域性使用php命令了

php-fpm啟動,重啟方法

啟動

sudo php-fpm

重啟 先找到程序 然後傳送USR2訊號

ps -aux | grep php

sudo kill -USR2 程序id

安裝nginx

訪問nginx的進行下載。

複製下載地址。比如我下載的1.19.5,直接下載

sudo wget https://nginx.org/download/nginx-1.19.5.tar.gz

然後解壓

sudo tar -zxvf nginx-1.19.5.tar.gz

接下來需要安裝一些擴充套件來支援php。

sudo apt-get install libpcre3 libpcre3-dev

切換目錄

cd ./nginx-1.19.5

執行安裝

sudo ./configure --prefix=/usr/local/src/nginx
sudo make && sudo make install

好了,安裝完成。

同意,建立軟連線。

sudo ln -s /usr/local/src/nginx/sbin/nginx /usr/local/bin/nginx

接下來啟動nginx看看效果

sudo nginx

訪問localhost就可以看到效果了。

配置網站

接下來配置一下網站。

修改nginx.conf

sudo vim /usr/local/src/nginx/conf/nginx.conf

在http塊裡面加上這句話,引入其他的配置檔案

include     conf.d/*.conf;

然後我們建立這個目錄

sudo mkdir /usr/local/src/nginx/conf/conf.d

配置我們的網站檔案

sudo vim /usr/local/src/nginx/conf/conf.d/test.com.conf

複製下面內容

server {
        listen       80;
        server_name  test.com;
        root   "/home/wwwroot/test/public/";
        location / {
            index index.php index.html error/index.html;
            autoindex  off;
            if (!-e $request_filename) {
                rewrite ^(.*)$ /index.php?s=/$1 last;
                break;
            }
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

在修改hosts檔案就好了。

redis擴充套件

如果要裝redis擴充套件,那麼手動下載

http://pecl.php.net/package/redis

找到tar包下載

sudo wget http://pecl.php.net/get/redis-5.3.2.tgz

解壓縮

sudo tar -zxvf redis-5.3.2.tgz

進去執行phpize

cd ./redis-5.3.2
sudo phpize

然後編譯

sudo ./configure --with-php-config=/usr/local/php7/bin/php-config
sudo make && sudo make install

接下來會出現下面的目錄

/usr/local/php7/lib/php/extensions/no-debug-non-zts-20190902

修改我們的php.ini

sudo vim /usr/local/php7/lib/php.ini

修改下面這個

extension_dir=/usr/local/php7/lib/php/extensions/no-debug-non-zts-20190902

增加redis擴充套件

extension="redis.so"

重啟nginx和php-fpm就好了。