準備工做php
yum -y install epel-release 安裝好後能夠經過以下命令查看 yum info epel-release yum repolist
下載phphtml
cd /usr/local/src/ wget http://php.net/get/php-7.2.2.tar.gz/from/this/mirror tar -zvxf php-7.2.2.tar.gz cd php-7.2.2
編譯安裝phppython
./configure --prefix=/usr/local/php #指定php安裝目錄 --with-config-file-path=/usr/local/php/etc #指定php配置目錄 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --with-mhash --with-jpeg-dir --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-ftp --enable-intl --enable-mysqlnd --disable-rpath --disable-fileinfo 編譯結束沒問題執行 make && make install 備註1: 新服務器編譯安裝php須要花費很長時間,緣由是缺乏太多的插件包。 筆者把編譯過程當中的報錯信息和解決方法在最後作了個彙總,基本能夠處理80%的報錯。 建議你們根據本身php編譯內容安裝對應插件包。 備註2: 512M的服務器安裝php有可能會報內存不足的錯誤,解決方法以下: 分配內存 mkdir -p /var/cache/swap/ dd if=/dev/zero of=/var/cache/swap/swap0 bs=1M count=512 chmod 0600 /var/cache/swap/swap0 mkswap /var/cache/swap/swap0 swapon /var/cache/swap/swap0 安裝結束後: 刪除內存 swapoff /var/cache/swap/swap0 rm -rf /var/cache/swap/swap0
配置phpmysql
cp php.ini-production /usr/local/php/etc/php.ini cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm cd /usr/local/php/etc cp php-fpm.conf.default php-fpm.conf cp php-fpm.d/www.conf.default php-fpm.d/www.conf
添加環境變量nginx
vi /etc/profile export PATH=$PATH:/usr/local/php/bin:/usr/local/php/sbin source /etc/profile
設置開機啓動redis
chkconfig方法: chmod +x /etc/init.d/php-fpm chkconfig --add php-fpm chkconfig php-fpm on systemctl方法: 稍後補充
啓動phpsql
php-fpm -t service php-fpm start ps aux|grep php-fpm 執行結果以下圖:
nginx和php結合segmentfault
還記得第一章裏nginx項目配置目錄嗎 cd /usr/local/nginx/conf.d/ touch test.conf vi test.conf 輸入以下內容: server { listen 80; server_name 服務器的ip地址; root html; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php$is_args$query_string; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 保存退出,進入html目錄下 cd /usr/local/nginx/html/ touch index.php vi index.php 輸入以下內容 <?php phpinfo(); ?> 保存退出,重啓nginx,在瀏覽器中輸入服務器ip地址,結果以下圖:
檢查php配置文件路徑和重要php插件是否安裝錯誤
opcache開啓api
php安裝完畢,默認是沒有開啓opcache配置。 在php.ini中添加zend_extension="opcache.so"
保存退出,重啓php-fpm php -m查看模塊信息,刷新瀏覽器php配置頁面,結果以下
安裝swoole模塊瀏覽器
pecl install swoole 在php.ini中添加extension = swoole.so
保存退出,重啓nginx,php-fpm php -m查看模塊信息,刷新瀏覽器php配置頁面,結果以下:
安裝redis模塊
php的redis模塊放到後面寫完安裝redis之後補充上去
php安裝總結
安裝包存放點:/usr/local/src/ php配置文件:/usr/local/php/etc/php-fpm.conf php.ini文件:/usr/local/php/etc/php.ini php日誌文件:/usr/local/php/var/log/php-fpm.log phppid文件:/usr/local/php/var/run/php-fpm.pid php啓動文件:/usr/local/nginx/sbin/nginx 啓動php service php-fpm start 關閉php service php-fpm stop 重啓php service php-fpm restart 查看模塊 php -m