PHP安装
1)下载
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
2)解压
3)进入目录
cd php-5.6.30
4)创建文件夹
mkdir /usr/local/php
5)添加fpm及nginx运行的用户和用户组
groupadd www
useradd -g www www -M -s /sbin/nologin
6)编译
./configure --prefix=/usr/local/php --with-mssql=/usr/local/freetds --with-apxs2=/usr/local/apache/bin/apxs --enable-cgi --with-mysql=/usr --with-config-file-path=/usr/local/php/etc --with-pdo-mysql=/usr/bin/mysql --with-mysqli=/usr/bin/mysql_config --enable-zip --enable-sqlite-utf8 --enable-sockets --enable-soap --enable-pcntl --enable-mbstring --enable-intl --enable-calendar --enable-bcmath --enable-exif --with-mcrypt --with-mhash --with-gd --with-png-dir --with-jpeg-dir --with-freetype-dir --with-libxml-dir --with-curl --with-curlwrappers --with-zlib --with-openssl --with-kerberos=shared --with-gettext=shared --with-xmlrpc=shared --with-xsl --with-iconv=/usr/local/libiconv/ --enable-shmop --enable-fpm --with-fpm-user=www --with-fpm-group=www
--with-apsx2 跟 --enable-fpm不分别使用apache跟nginx,./configure时不能同时启用。
7)根据编译出错提示补上缺失的依赖,然后再./configure
yum install pere-devel -y
8)make && make install
9)拷贝服务脚本到init.d目录
cp /usr/local/php/sbin/php-fpm /etc/init.d/php-fpm
10)添加执行权限
chmod +x /etc/init.d/php-fpm
11)拷贝配置文件
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp xxw/tools/php-5.6.30/php.ini-production /usr/local/php/etc/php.ini #前面为你下载解压后的目录
12)配置php.ini
13)配置php-fpm.conf
如果前面配置的时候没有加用户和组,将里面的user = nobody,改为和nginx一样的用户和组。
14)启动php-fpm
/usr/local/php/bin/php -v
/usr/local/php/bin/php-fpm start
重启
killall fpm && /usr/local/php/bin/php-fpm start
/usr/local/php/bin/php-fpm restart
15)检查fpm状态
netstat -nltp |grep 9000
ps -ef|grep fpm
nginx安装
cd /usr/local/src
wget http://nginx.org/download/nginx-1.1.10.tar.gz
tar -zxvf nginx-1.1.10.tar.gz
cd nginx-1.1.10
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_gzip_static_module --with-pcre
yum install pere-devel -y
make
make install
修改nginx.conf
/usr/local/nginx/conf/nginx.conf
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 8080; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.php index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi.conf; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
启动nginx
/usr/local/nginx/sbin/nginx start
redis、xdebug扩展安装
tar
cdredis-2.2.8
/usr/local/php/bin/phpize
#用phpize生成
./configure
--with-php-config=
/usr/local/php/bin/php-config
#配置
make && make install
/usr/local/php/etc/php
.ini
extension = redis.so
如果没有将phpize加入$PATH,则应该使用全路径
./configure --enable-xdebug
zend_extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so
xdebug.remote_host = 127.0.0.1
xdebug.remote_enable = 1
xdebug.remote_port = 9001
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
来源:博客园
作者:人生很短,用心做好眼前的事情。
链接:https://www.cnblogs.com/hnhycnlc888/p/11406725.html