提高web性能,nginx和php-fpm分别部署在不同服务器

guiyun affiliate


阿里云代金券领取

一、Nginx 1.16.0 安装

1、安装依赖包

yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

  依赖包说明:

1、编译依赖 gcc 环境,所以需要:gcc gcc-c++;

2、PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库,所以需要:pcre pcre-devel ;

3、zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库,所以需要:zlib zlib-devel ;

4、OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库,所以需要:openssl openssl-devel ;

2、从官网下载安装包

wget https://nginx.org/download/nginx-1.16.0.tar.gz

3、创建 用户组

useradd -M -s /sbin/nologin www

4、解压并安装

tar zxvf nginx-1.16.0.tar.gz
cd nginx-1.16.0
./configure --prefix=/usr/local/nginx
make && make install

5、测试安装是否成功

[root@localhost ~]# nginx -V
nginx version: nginx/1.16.0built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
configure arguments: --prefix=/usr/local/nginx

6、添加nginx服务

vim /lib/systemd/system/nginx.service

 将以下内容插入:

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true[Install]
WantedBy=multi-user.target

7、配置nginx服务自动启动

[root@localhost sbin]# systemctl enable nginx.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

8、启动nginx服务

[root@localhost sbin]# systemctl start  nginx.service


9、查看服务是否启动

[root@localhost src]# systemctl status nginx.service 

● nginx.service - nginx

   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)

   Active: active (running) since 日 2019-12-01 19:56:49 CST; 6h ago

  Process: 16977 ExecStop=/usr/local/nginx/sbin/nginx -s quit (code=exited, status=0/SUCCESS)

  Process: 16981 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)

 Main PID: 16982 (nginx)

   CGroup: /system.slice/nginx.service

           ├─16982 nginx: master process /usr/local/nginx/sbin/nginx

           └─16984 nginx: worker process


12月 01 19:56:49 localhost.localdomain systemd[1]: Stopped nginx.

12月 01 19:56:49 localhost.localdomain systemd[1]: Starting nginx...

12月 01 19:56:49 localhost.localdomain systemd[1]: Started nginx.


10、验证服务是否启动成功

[root@localhost sbin]# netstat -ntlp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      349/nginx: master

image.png

Nginx服务器设置

vim /usr/local/nginx/conf/nginx.conf

  location ~ \.php$ {
        root           /www/web;     #php-fpm服务器上*.php页面文件存放路径
        fastcgi_pass   192.168.224.177:9000;  #这里指向处理php的服务器IP
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

image.png

[root@localhost ~]# systemctl reload  nginx.service   #重启 加载Nginx 服务  


二、PHP-7.1.21 安装

1.下载PHP 源码包


#wget http://cn2.php.net/distributions/php-7.1.21.tar.gz


2.解压

#tar -zxvf php-7.1.21.tar.gz
#cd php-7.1.21


3.安装epel

#yum install -y epel-release
#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo


4.安装依赖

#yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel \
 libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel \
 gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel gcc

5.编译安装

#创建目录

mkdir -p /data/service/php/etc

[root@localhost php-7.1.21]# ./configure --prefix=/data/service/php --with-config-file-path=/data/service/php/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear --enable-opcache

image.png

#make &&  make install


增加环境变量

cat <<EOF > /etc/profile.d/php.sh

export PATH=/usr/local/php7/bin:\$PATH

EOF

# 生效环境变量

. /etc/profile

配置php-fpm

#cp php.ini-production /data/service/php/etc/php.ini
#cp /data/service/php/etc/php-fpm.conf.default /data/service/php/etc/php-fpm.conf
#cp /data/service/php/etc/php-fpm.d/www.conf.default /data/service/php/etc/php-fpm.d/www.conf


配置php-fpm服务

# 注意:这个文件是根据上面C++编译配置动态生成的文件,里面写了上面配置的路径
# cd /usr/local/src/php-7.1.21
#cp sapi/fpm/init.d.php-fpm /etc/init.d/
#chmod+x /etc/init.d/php-fpm

启动:

# 增加开机启动
systemctl enable php-fpm
systemctl start php-fpm

注意:php-fpm需要nginx用户,当然你可以自行增加,也可以直接安装nginx。


php-fpm服务器设置

[root@localhost ~]# mkdir -p /www/web/  #创建php 文件目录

[root@localhost ~]# vim /www/web/test.php  #新建PHP测试页 

  

<?php

        phpinfo()

?>


[root@localhost ~]# vim /usr/local/php7/etc/php-fpm.d/www.conf  #需改配置文件

大约36 行     listen = 192.168.224.177:9000    #去掉分号改成IP 

image.png

[root@localhost ~]# systemctl restart php-fpm  #重启PHP-FPM 


访问测试:

http://192.168.224.136/test.php

image.png



阿里云代金券领取

guiyun affiliate

作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:DELL R340 服务器做RAID1和RAID5
下一篇:如何在Ubuntu 18.04上安装Apache 2.4,MariaDB 10.3和PHP 7.2

相关推荐

4

发表评论