1、安装gcc编译器和依赖
- 在编译安装之前先安装需要的依赖库和编译软件安装
yum install gcc gcc-c++ glibc -y
yum install pcre-devel -y
yum install zlib-devel -y
yum install openssl-devel -y
2、安装nginx
- 下载解压
wget http://nginx.org/download/nginx-1.15.8.tar.gz
tar zxf nginx-1.15.8.tar.gz
cd nginx-1.15.8
- config配置
./configure --prefix=/usr/local/nginx\
--sbin-path=/usr/local/nginx/sbin/nginx\
--conf-path=/usr/local/nginx/conf/nginx.conf\
--error-log-path=/var/log/nginx/error.log\
--http-log-path=/var/log/nginx/access.log\
--pid-path=/var/run/nginx/nginx.pid\
--lock-path=/var/lock/nginx.lock\
--user=nginx\
--group=nginx\
--with-http_ssl_module\
--with-http_stub_status_module\
--with-http_gzip_static_module\
--http-client-body-temp-path=/var/tmp/nginx/client/\
--http-proxy-temp-path=/var/tmp/nginx/proxy/\
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/\
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi\
--http-scgi-temp-path=/var/tmp/nginx/scgi\
--with-pcre
或者格式化成这样
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre
2.1 nginx编译参数解析
–prefix #nginx安装目录,默认在/usr/local/nginx
–pid-path #pid问件位置,默认在logs目录
–lock-path #lock问件位置,默认在logs目录
–with-http_ssl_module #开启HTTP SSL模块,以支持HTTPS请求。
–with-http_dav_module #开启WebDAV扩展动作模块,可为文件和目录指定权限
–with-http_flv_module #支持对FLV文件的拖动播放
–with-http_realip_module #支持显示真实来源IP地址
–with-http_gzip_static_module #预压缩文件传前检查,防止文件被重复压缩
–with-http_stub_status_module #取得一些nginx的运行状态
–with-mail #允许POP3/IMAP4/SMTP代理模块
–with-mail_ssl_module #允许POP3/IMAP/SMTP可以使用SSL/TLS
–with-pcre=../pcre-8.11 #注意是未安装的pcre路径
–with-zlib=../zlib-1.2.5 #注意是未安装的zlib路径
–with-debug #允许调试日志
–http-client-body-temp-path #客户端请求临时文件路径
–http-proxy-temp-path #设置http proxy临时文件路径
–http-fastcgi-temp-path #设置http fastcgi临时文件路径
–http-uwsgi-temp-path=/var/tmp/nginx/uwsgi #设置uwsgi 临时文件路径
–http-scgi-temp-path=/var/tmp/nginx/scgi #设置scgi 临时文件路径
- 编译安装
make && make install
- 增加nginx用户
useradd nginx -s /sbin/nologin -M
- 添加软链
ln -s /usr/local/nginx/sbin/nginx /usr/bin/
- 启动nginx
/opt/local/nginx/sbin/nginx
or
nginx -t //已经软连接过了
nginx
3、安装php
- 下载解压
wget http://cn2.php.net/distributions/php-7.2.8.tar.gz
tar -xzf php-7.2.8.tar.gz
cd php-7.2.8
- 安装依赖包
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
- config配置
php7版本正确的编译语句是:
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-compression-support --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --with-libmbfl --enable-ftp --with-gd --enable-gd-jis-conv --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-pear --enable-maintainer-zts --with-ldap=shared --without-gdbm
- 编译安装
make && make install
安装过程大约需要20分钟时间
- 配置PHP
- 在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:
cp php.ini-production /usr/local/php/php.ini
- [可选项] 设置让PHP错误信息打印在页面上
vim /usr/local/php/php.ini
设置
display_errors = On
- 复制启动脚本:
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
- 修改php-fpm配置文件:
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
(去掉 pid = run/php-fpm.pid 前面的分号)
- 修改www.conf配置
cd php-fpm.d
cp www.conf.default www.conf
- [可选项]修改user和group
$ vim www.conf
修改user和group的用户为当前用户(也可以不改,默认会添加nobody这个用户和用户组)
- 添加软链
ln -s /usr/local/php/bin/php /usr/bin/php
- 启动PHP
$ /etc/init.d/php-fpm start #php-fpm启动命令
$ /etc/init.d/php-fpm stop #php-fpm停止命令
$ /etc/init.d/php-fpm restart #php-fpm重启命令
$ ps -ef | grep php 或者 ps -A | grep -i php #查看是否已经成功启动PHP
- 扩展安装
- 缺少ssl扩展的时候可以重新再次编译PHP,加上--enable-openssl (或者 --with-openssl)参数即可。
但是如果只为了安装这一个扩展就去重新编译,未免有点麻烦,其实可以简单一点,只要安装openssl.so扩展就可以了。
备注:其他的扩展安装方法同理。
1)找到之前编译安装PHP的安装包,
2)解压并进入文件夹
3)运行 phpize:cd /home/kemeng/php-7.2.21/ext/openssl #以openssl为例
备注,如果出现如下错误:Cannot find config.m4./usr/local/php/bin/phpize
Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module
【解决办法】cp ./config0.m4 ./config.m4 即可解决
4)编译和安装
5)配置php.ini 开启curl.so./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config make && make install
extension=curl.so 去掉 ";"
6)重启php-fpm和nginx/apache,查看phpinfo()或者 php -m;
4、安装mysql
编译安装时内存不足,最后选择了yum安装
https://www.cnblogs.com/z0909y/p/10772854.html
网友评论