本教程采用1台转发服务器和2台应用服务器(硬件配置相同)作为示例,系统均为CentOS7.4,网址为https://blog.yufuping.com
,转发服务器为443端口,内网转发到应用服务器的80端口。本教程采用权重策略,其他策略可参考网络资料。
第一步,安装转发Nginx
安装gcc
1 | yum install gcc gcc-c++ |
安装pcre
1 | yum install -y pcre pcre-devel |
安装zlib
1 | yum install -y zlib zlib-devel |
安装openssl
1 | yum install -y openssl openssl-devel |
下载
1 | wget https://nginx.org/download/nginx-1.15.3.tar.gz |
解压
1 | tar -zxvf nginx-1.15.3.tar.gz |
进入目录
1 | cd nginx-1.15.3 |
编译nginx
1 | ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module --with-stream |
这里的--with-stream
stream模块是为了配置负载均衡转发,应用服务器安装nginx可以不加。
安装nginx
1 | make && make install |
第二步,配置转发Nginx
在nginx.conf中http
内配置upstream
,此处以blog.yupoxiong.com
域名为示例。
1 | upstream blog.yupoxiong.com { |
weight
为权重,如果机器配置不均衡,可以调整weight参数。例如第2台机器的配置为第1台机器的2倍,那就可以把第2台的weight
改成2。
server
内配置
1 | server { |
第三步,正常安装配置应用服务器Nginx和PHP即可
应用服务器nginx可以和转发服务器使用相同的命令,然后正常配置nginx.conf即可,以下为PHP的安装教程。
安装php依赖
1 | 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 |
下载php7.2
1 | http://cn2.php.net/get/php-7.2.10.tar.gz/from/this/mirror |
解压
1 | tar -zxvf mirror |
进入目录
1 | cd mirror |
编译php
1 | ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-openssl --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/usr --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli --with-curl --enable-bcmath |
安装
1 | make && make install |
配置文件
1 | cp php.ini-production /usr/local/php/php.ini |
php.ini开启错误显示
1 | display_errors = On |
复制启动脚本:
1 | cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm |
修改php-fpm配置文件:
1 | cd /usr/local/php/etc |
去掉 pid = run/php-fpm.pid 前面的分号
1 | cd php-fpm.d |
修改user和group的用户为当前用户(也可以不改,默认会添加nobody这个用户和用户组)
【启动PHP】
1 | /etc/init.d/php-fpm start #php-fpm启动命令 |
v1.3.10