开看linux服务器 是否开启了防火墙 可以先关闭防火墙
(1): service iptables stop
设置防火墙参考博客:http://www.cnblogs.com/JemBai/archive/2009/03/19/1416364.html
1:nginx
安装依赖环境
更新yum yum update -y
安装gcc yum install -y gcc gcc-c++
安装pcre yum install -y pcre pcre-devel
安装zlib yum install -y zlib zlib-devel
安装OpenSSL yum install -y openssl openssl-devel
需要下载prce用来支持nginx 伪静态
下载地址:https://sourceforge.net/projects/pcre/files/pcre/
或者:yum install pcre-devel zlib-devel openssl-devel
创建用户和用户组:groupadd nginx useradd -M -s /sbin/nologin nginx
安装:./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-pcre --with-openssl --with-http_gzip_static_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module
make && make install
2:安装php
php 推荐使用mysqlnd链接mysql数据库 编译之前 并不需要安装mysql数据库
./configure --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 加上即可
依赖包
yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel
./configure --prefix=/usr/local/php --with-freetype-dir --with-gd --with-curl --with-openssl --with-zlib --enable-libxml --enable-xml --enable-zip --enable-opcache --enable-sysvsem --enable-mbstring --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-fpm --with-fpm-user=www --with-fpm-group=www
默认编译的配置文件是:/usr/local/php/lib/php.ini
如果你想更改php.ini的位置 只需要加上:--with-config-file-path=/usr/local/php/etc/ 就行了
make && make install
配置php
复制配置文件
#cp php.ini-development /usr/local/php/lib/php.ini
#cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
#cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
启动php-fpm
/usr/local/php/sbin/php-fpm
也可以加上配置文件路径:/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf
停止php-fpm pkill php
简单配置nginx
vi /usr/local/nginx/conf/nginx.conf
找到server 中修改一下
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;
}
然后在 root /usr/local/www; 自己设定一下项目的目录
然后建立一个 index.php
配置php.ini
1:配置 php模块加载路径
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012"
2:启用opcache
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.file_cache=/tmp
3:安装redis扩展
wget -c https://github.com/phpredis/phpredis/archive/php7.zip
unzip php7.zip
cd phpredis-php7
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make
make install
cd ..
/usr/local/php/etc/php.ini
中加入
extension=redis.so
编译的时候问题解决:
undefined reference to `libiconv_open' undefined reference to `libiconv'
解决方法:
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar -zxvf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/libiconv
make
make install
再检查php,指定 iconv的位置 --with-iconv=/usr/local/libiconv
安装PHP7.4找不到包 No package 'oniguruma' found错误
wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz
tar -xvf oniguruma-6.9.4.tar.gz
cd oniguruma-6.9.4/
./autogen.sh
./configure --prefix=/usr --libdir=/lib64
make && make install