一、安装前系统优化
--https://www.topunix.com/post-10615.html
二、nginx
注意:上述gcc默认版本较低,后面安装redis6.0.14和MySQL8.0.*,,需要更高级别的,此处的gcc可以先不用安装。(第一个注意的点)
1.nginx下载
cd /soft wget https://nginx.org/download/nginx-1.20.1.tar.gz
2.创建nginx运行用户
# useradd -s /sbin/nologin -M nginx
3.安装依赖
yum -y install gcc automake autoconf libtool make gcc gcc-c++ glibc pcre-devel zlib-devel openssl*
4.解压并配置nginx
cd /soft
tar zxvf nginx-1.20.1.tar.gz cd nginx-1.20.1 ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream --with-stream_ssl_module --with-file-aio --with-http_realip_module
5.编译安装
[root@myhost1 nginx-1.9.9]# make && make install
6.测试nginx是否安装成功
(1)配置环境变量
vi ~/.bash_profile PATH=$PATH:$HOME/bin:/usr/local/nginx/sbin/
# source ~/.bash_profile # nginx -V
7.启动测试
nginx ps -ef|grep nginx
8.系统添加Nginx服务
(1) 创建 nginx.service 文件
# vi /lib/systemd/system/nginx.service [Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/usr/local/nginx/sbin/nginx /usr/local/nginx/conf/nginx.conf -s reload ExecStop=/usr/local/nginx/sbin/nginx /usr/local/nginx/conf/nginx.conf -s quit PrivateTmp=true [Install] WantedBy=multi-user.target
(2)以 systemctl 方式启动 Nginx
systemctl daemon-reload #重新加载系统服务 kill -9 pid systemctl start nginx #启动nginx
(3)查看Nginx的服务
netstat -nltp|grep nginx
(4)查看Nginx的服务状态
# ps -ef | grep nginx
如图nginx服务已经启动。
(5)配置Nginx服务开机自启
systemctl enable nginx
nginx部署成功。
9.测试nginx
http://172.18.1.53
二、安装php
1. 安装依赖软件包
注意:这里的gcc默认版本较低,后面安装redis6.0.14和和MySQL8.0.35,需要更高级别的。
此处先安装,后面我们可以修改gcc的环境变量对新版本gcc进行生效。
yum -y install apr* autoconf automake bison bzip2 bzip2* cloog-ppl cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc glibc-devel glib2 glib2-devel kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libxml* libXaw-devel libXmu-devel libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib zlib-devel yum -y install sqlite-devel yum -y install https://rpms.remirepo.net/enterprise/7/remi/x86_64/oniguruma5php-6.9.8-1.el7.remi.x86_64.rpm yum -y install https://rpms.remirepo.net/enterprise/7/remi/x86_64/oniguruma5php-devel-6.9.8-1.el7.remi.x86_64.rpm
2. 下载安装包
(1)下载
wget https://www.php.net/distributions/php-7.3.7.tar.gz
(2)解压php压缩包
tar xvf php-7.3.7.tar.gz
3.安装php
(1)配置安装php
注意:标红色的扩展功能项需要先开启,在后续环境中,尤其要使用,一定要装上。
cd /root/php-7.3.7/ ./configure \ --prefix=/usr/local/php7 \ --with-config-file-path=/usr/local/php7 \ --with-config-file-scan-dir=/usr/local/php7/php.d \ --enable-mysqlnd \ --with-mysqli \ --with-mysql-sock=/tmp/mysql.sock \ --with-pdo-mysql \ --enable-fpm \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --with-iconv \ --enable-xml \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --enable-mbregex \ --enable-mbstring \ --enable-ftp \ --with-openssl \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-soap \ --without-pear \ --with-gettext \ --enable-session \ --with-curl \ --enable-opcache \ --without-pear \ --with-zlib \ --with-zlib-dir \ --enable-phar \ --with-png-dir \ --with-freetype-dir \ --with-jpeg-dir \ --with-gd \ --enable-calendar
注意:
在PHP编译安装过程中,--with和--enable是两个常用的选项,它们分别用于配置和启用不同的功能模块。它们之间的区别如下:
--with选项: --with选项用于指定PHP编译时要启用的外部库或模块。 通过--with选项,您可以在编译PHP时为其提供外部依赖项,例如数据库驱动程序、图形库等。 示例:--with-mysql用于启用MySQL支持;--with-gd用于启用GD图形库支持。 --enable选项: --enable选项用于启用PHP的内置功能或扩展模块。 通过--enable选项,您可以启用PHP编译时内置的功能或扩展模块,以便在运行时使用。 示例:--enable-mbstring用于启用多字节字符串支持;--enable-xml用于启用XML支持。
.4.编译安装
#-j 指定cpu核心数量
make -j 2 --10分钟(workstation虚拟机中) make test --20分钟(如果出现几个timeout的错误,可以或略,不用测试了) make install
5.完成后再安装pear
php 的编译时需要依赖pear package ,目前的问题错误”PEAR package PHP_Archive not installed: generated phar will require PHP’s phar extension be enabled.”,已经明显报出这个问题。
因此编译使用参数 –without-pear 将pear 屏蔽掉编译安装后,再进行安装;同时因为phar 属于pear的一个库 ,所以不将phar关闭掉,同时还会报这个错误,同时需要使用 –disable-phar 编译参数.
安装完成后再安装
wget http://pear.php.net/go-pear.phar /usr/local/php7/bin/php go-pear.phar
6.创建 php.ini 配置文件
cd /software/php-7.3.7 cp php.ini-production /usr/local/php7/php.ini
vi /usr/local/php7/php.ini
#1342行将注释打开 #php的Session存储目录
session.save_path = "/tmp"
7.设置php-fpm配置文件
(1)配置php-fpm文件
[root@localhost ~]# cd /usr/local/php7/etc [root@localhost etc]# cp php-fpm.conf.default php-fpm.conf [root@localhost etc]# vim php-fpm.conf #17行将注释取消并修改 pid = /var/run/php-fpm.pid # php-fpm连接文件
(2)配置www.conf
cd /usr/local/php7/etc/php-fpm.d/ cp www.conf.default www.conf vim www.conf user = nginx group = nginx listen = 127.0.0.1:9000
8.启动php-fpm
/usr/local/php7/sbin/php-fpm
9.配置php-fpm系统环境变量
添加到最后即可。
vi ~/.bash_profile export PHP_HOME=/usr/local/php7 export PATH=$PATH:$PHP_HOME/bin:$PHP_HOME/sbin
10.重载环境变量
# source ~/.bash_profile
11.配置php-fpm开机自启
# vi /lib/systemd/system/php-fpm.service
[Unit] Description=php-fpm After=network.target [Service] Type=forking ExecStart=/usr/local/php7/sbin/php-fpm ExecStop=/bin/pkill -9 php-fpm PrivateTmp=true [Install] WantedBy=multi-user.target
12.重载systemctl
systemctl daemon-reload
13.停止php-fpm并用systemctl启动,开机自启
# pkill php-fpm # systemctl start php-fpm.service # systemctl enable php-fpm.service
三、配置PHP其他扩展对象(composer install需要)
1、phpredis-php7安装(软件已下载)
(1)解压phpredis-php7.zip
unzip phpredis-php7.zip cd phpredis-php
(2)安装phpredis扩展项
yum -y install m4 autoconf # 安装依赖 unzip phpredis-php7.zip # 解压 cd ./phpredis-php7 # 进入目录 phpize #用phpize生成configure配置文件 ./configure --with-php-config=/usr/local/php7/bin/php-config #配置 make #编译 make install #安装
(3)配置phpredis扩展文件
vim /usr/local/php7/php.ini #编辑配置文件;在最后一行(G直接到最后一行),添加以下内容extension="redis.so"
(4)验证是否安装成功
php -m|grep redis
2、安装zip扩展项(已下载)
(1)解压zip安装包
tar -zxvf zip-1.19.0.tgz cd /zip-1.19.0
(2)安装zip
phsize
./configure --with-php-config=/usr/local/php7/bin/php-config
ln -s /usr/local/lib/libzip/include/zipconf.h /usr/local/include
make && make install
(3)配置扩展文件
vim /usr/local/php7/php.ini #编辑配置文件;
extension=zip.so
(4)验证是否安装成功
php -m|grep zip
3、最后验证必要项是否已经安装完毕
php -m|grep -E "zip|gd|openssl|Phar|redis"
四、配置Nginx支持PHP
1.添加Nginx配置
(1)添加Nginx配置支持PHP
vi /usr/local/nginx/conf/nginx.conf
--在location /下添加 index.php
--去掉# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000段落下location ~ \.php$ {的注释 --在location~ \.php$ 将/scripts改为/usr/local/nginx/html
(2)重启nginx
systemctl restart nginx
2.添加PHP测试文件
cd /usr/local/nginx/html/ vi index.php <?php phpinfo(); ?>
3.刷新网站查看
如果没有出来,重启php-fpm:systemctl restart php-fpm
当出现以下界面是成功。