nginx做负载均衡服务器,配置动静分离

2023-05-16

nginx做负载均衡服务器,配置动静分离

1. 题目要求:

后端RS服务器⼀台部署LNMP(nginx1.22+mysql8.0+php8.1),⼀台部署 httpd。
要求nginx和php使⽤编译安装
最后要通过访问nginx负载均衡服务器的IP看到动静分离的效果。

2. 环境和提供软件包

2.1 提供软件包

wget https://nginx.org/download/nginx-1.22.0.tar.gz
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
wgethttps://www.php.net/distributions/php-8.1.11.tar.xz

2.2 虚拟机环境要求

主机ip安装的服务操作系统
140192.168.141.140lnmp,动态资源CentOS8
141192.168.141.141nginx,静态资源CentOS8
143192.168.141.143nginx,做负载均衡CentOS8

修改主机名,关闭防火墙,配置阿里云源

[root@Client ~]# hostnamectl set-hostname 140
[root@Client ~]# bash

[root@DR ~]# hostnamectl set-hostname 141
[root@DR ~]# bash

[root@RS1 ~]# hostnamectl set-hostname 143
[root@RS1 ~]# bash

[root@140 ~]# systemctl disable --now firewalld
[root@140 ~]# vim /etc/selinux/config 
SELINUX=disabled
[root@140 ~]# setenforce 0

[root@141 ~]# systemctl disable --now firewalld
[root@141 ~]# setenforce 0
[root@141 ~]# vi /etc/selinux/config
SELINUX=disabled

[root@143 ~]# systemctl disable --now firewalld
[root@143 ~]# setenforce 0
[root@143 ~]# vi /etc/selinux/config
SELINUX=disabled

#其他的省略
[root@140 ~]# cd /etc/yum.repos.d/
[root@140 yum.repos.d]# mkdir ll    
[root@140 yum.repos.d]# mv * ll/
[root@140 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
[root@140 yum.repos.d]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
[root@140 yum.repos.d]# 

3. 在140主机主机部署lnmp,在动态资源

3.1 源码安装nginx

创建系统用户nginx
[root@140 ~]# useradd -r -M -s /sbin/nologin nginx
[root@140 ~]# id nginx 
uid=993(nginx) gid=990(nginx) groups=990(nginx)

安装依赖环境
[root@140 ~]# yum -y groups mark install 'Development Tools'
[root@140 ~]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++ make 

创建日志存放目录
[root@140 ~]# mkdir -p /var/log/nginx
[root@140 ~]# chown -R nginx.nginx /var/log/nginx
[root@140 ~]# ll -d /var/log/nginx
drwxr-xr-x 2 nginx nginx 6 Oct 19 02:46 /var/log/nginx

编译安装
[root@140 ~]# tar xf nginx-1.22.0.tar.gz 
[root@140 ~]# cd nginx-1.22.0
[root@140 nginx-1.22.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-debug \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_image_filter_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=/var/log/nginx/error.log

[root@140 nginx-1.22.0]# make 
[root@140 nginx-1.22.0]# make install

nginx安装后配置
[root@140 nginx-1.22.0]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh
[root@140 nginx-1.22.0]# source /etc/profile.d/nginx.sh

启动测试nginx
[root@140 ~]# nginx 
[root@140 ~]# ss -anlt
State      Recv-Q     Send-Q         Local Address:Port           Peer Address:Port     Process     
LISTEN     0          128                  0.0.0.0:80                  0.0.0.0:*                    
LISTEN     0          128                  0.0.0.0:22                  0.0.0.0:*                    
LISTEN     0          128                     [::]:22                     [::]:*                    
[root@140 ~]# nginx -s stop
[root@140 ~]# ss -anlt
State      Recv-Q     Send-Q         Local Address:Port           Peer Address:Port     Process     
LISTEN     0          128                  0.0.0.0:22                  0.0.0.0:*                    
LISTEN     0          128                     [::]:22                     [::]:*                    
[root@140 ~]# nginx 
  • 浏览器访问
    在这里插入图片描述

3.2 二进制安装MySQL

安装依赖包,创建用户,并解压
[root@140 ~]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel ncurses-compat-libs
[root@140 ~]# useradd -r -M -s /sbin/nologin mysql
[root@140 ~]# id mysql 
uid=992(mysql) gid=989(mysql) groups=989(mysql)

修改属主
[root@140 ~]# tar xf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
[root@140 ~]# cd /usr/local/
[root@140 local]# ls
bin  games    lib    libexec                              nginx  share
etc  include  lib64  mysql-8.0.30-linux-glibc2.12-x86_64  sbin   src
[root@140 local]# mv mysql-8.0.30-linux-glibc2.12-x86_64/ mysql
[root@140 local]# chown -R mysql.mysql mysql
[root@140 local]# ll -d mysql
drwxr-xr-x 9 mysql mysql 129 Oct 19 03:13 mysql
[root@140 local]# 


配置环境变量,man文档,lib库,头文件
[root@140 ~]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@140 ~]# source /etc/profile.d/mysql.sh
[root@140 ~]# vim /etc/ld.so.conf.d/mysql.conf
[root@140 ~]# ldconfig 
[root@140 ~]# cat /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
[root@140 ~]# ln -s /usr/local/mysql/include /usr/include/mysql

[root@140 ~]# vim /etc/man_db.conf
#添加如下配置
MANDATORY_MANPATH                       /usr/local/mysql/man


建立数据存放目录,并修改属主
[root@140 ~]# mkdir -p /opt/data
[root@140 ~]# chown -R mysql.mysql /opt/data
[root@140 ~]# ll /opt/
total 0
drwxr-xr-x 2 mysql mysql 6 Oct 19 03:18 data



初始化数据库,
[root@140 ~]# mysqld --initialize --user mysql --datadir /opt/data
2022-10-19T07:20:18.126505Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.30) initializing of server in progress as process 35901
2022-10-19T07:20:18.134799Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-10-19T07:20:18.394351Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-10-19T07:20:18.945482Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 9S*,w010z>>=

9S*,w010z>>=
这个是初始化密码记住


生成配置文件
[root@140 ~]# > /etc/my.cnf
[root@140 ~]# vim /etc/my.cnf
[root@140 ~]# cat /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve
[root@140 ~]# 

配置服务启动脚本
[root@140 ~]# cd /usr/local/mysql/support-files/
[root@140 support-files]# cp mysql.server mysqld
[root@140 support-files]# vim mysqld
45basedir=/usr/local/mysql
datadir=/opt/data
[root@140 support-files]# chown -R mysql.mysql mysqld
[root@140 support-files]# ll -d mysqld
-rwxr-xr-x 1 mysql mysql 10601 Oct 19 03:29 mysqld


先启动测试一下
[root@140 ~]# /usr/local/mysql/support-files/mysqld start
Starting MySQL.Logging to '/opt/data/140.err'.
 SUCCESS! 
[root@140 ~]# ss -antl
State  Recv-Q Send-Q Local Address:Port    Peer Address:Port Process 
LISTEN 0      128          0.0.0.0:22           0.0.0.0:*            
LISTEN 0      128          0.0.0.0:80           0.0.0.0:*            
LISTEN 0      128             [::]:22              [::]:*            
LISTEN 0      70                 *:33060              *:*            
LISTEN 0      128                *:3306               *:*            
[root@140 ~]# /usr/local/mysql/support-files/mysqld stop
Shutting down MySQL.. SUCCESS! 
[root@140 ~]# ss -antl
State  Recv-Q Send-Q  Local Address:Port   Peer Address:Port Process 
LISTEN 0      128           0.0.0.0:22          0.0.0.0:*            
LISTEN 0      128           0.0.0.0:80          0.0.0.0:*            
LISTEN 0      128              [::]:22             [::]:*            
[root@140 ~]# 


配置service文件,设置开机自启
[root@140 ~]# cd /usr/lib/systemd/system
[root@140 system]# cp sshd.service mysqld.service
[root@140 system]# ll sshd.service 
-rw-r--r--. 1 root root 456 Apr 26  2020 sshd.service
[root@140 system]# ll mysqld.service 
-rw-r--r-- 1 root root 456 Oct 19 03:32 mysqld.service
[root@140 system]# 

[root@140 system]# vim mysqld.service 
[root@140 system]# cat mysqld.service
[Unit]
Description=mysqld server daemon
After=network.target sshd-keygen.target

[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysqld start
ExecStop=/usr/local/mysql/support-files/mysqld stop
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
[root@140 system]# systemctl enable --now mysqld.service 
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.
[root@140 system]# ss -anlt
State      Recv-Q     Send-Q         Local Address:Port           Peer Address:Port     Process     
LISTEN     0          128                  0.0.0.0:80                  0.0.0.0:*                    
LISTEN     0          128                  0.0.0.0:22                  0.0.0.0:*                    
LISTEN     0          70                         *:33060                     *:*                    
LISTEN     0          128                        *:3306                      *:*                    
LISTEN     0          128                     [::]:22                     [::]:*                    
[root@140 system]# 

安装mysql软件包
[root@140 system]# yum -y install ncurses-compat-libs

设置密码
[root@140 system]# mysql -uroot -p'9S*,w010z>>=';

mysql> alter user 'root'@'localhost' identified by '123';
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

[root@140 support-files]# mysql -uroot -p'123';
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.30 MySQL Community Server - GPL

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> quit
Bye

3.3 源码安装PHP

//安装依赖包
[root@Master_B ~]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++   wget  make

//安装依赖包
[root@Master_B ~]# yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libicu-devel libjpeg libjpeg-devel libpng libpng-devel openldap-devel  pcre-devel freetype freetype-devel gmp gmp-devel  readline readline-devel libxslt libxslt-devel  php-mysqlnd    libxml2-devel   sqlite-devel    https://vault.centos.org/centos/8/PowerTools/x86_64/os/Packages/oniguruma-devel-6.8.2-2.el8.x86_64.rpm  https://vault.centos.org/centos/8/AppStream/x86_64/os/Packages/libzip-devel-1.5.1-2.module_el8.2.0+313+b04d0a66.x86_64.rpm  --nobest

//安装依赖包
[root@Masters_B]# wget https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/libcurl-7.61.1-22.el8.x86_64.rpm
[root@Masters_B]# yum install -y libcurl-devel.x86_64

//安装php环境包
[root@140 ~]# tar xf php-8.1.11

//安装php环境包
[root@140 php-8.1.11]# yum -y install libxml2 libxml2-devel

[root@140 php-8.1.11]#./configure --prefix=/usr/local/php8  --with-config-file-path=/etc --enable-fpm  --disable-debug --disable-rpath --enable-shared --enable-soap --with-openssl --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --enable-exif  --enable-ftp --enable-gd --with-jpeg --with-zlib-dir --with-freetype --with-gettext  --enable-mbstring --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-readline --enable-shmop --enable-simplexml --enable-sockets   --with-zip --enable-mysqlnd-compression-support --with-pear --enable-pcntl --enable-posix

......等待
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE. By continuing this installation  |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.
出现这个证明安装没有问题

[root@140 php-8.1.11]# make -j $(grep 'processor' /proc/cpuinfo | wc -l) && make install 
......

[root@140 php-8.1.11]# cd /usr/local/php8/
[root@140 php8]# ls
bin  etc  include  lib  php  sbin  var
[root@140 php8]# echo 'export PATH=/usr/local/php8/bin:/usr/local/php8/:sbin:$PATH' > /etc/profile.d/php8.sh
[root@140 php8]# source /etc/profile.d/php8.sh 
[root@140 php8]# ln -s /usr/local/php8/include/ /usr/include/php
[root@140 php8]# vim /etc/ld.so.conf.d/php.conf
[root@140 php8]# cat /etc/ld.so.conf.d/php.conf 
/usr/local/php8/lib

[root@140 php8]# ldconfig 
[root@140 php8]# php -v
PHP 8.1.11 (cli) (built: Oct 19 2022 04:46:37) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.11, Copyright (c) Zend Technologies
[root@140 php8]# 

配置php-fpm
[root@140 php8]# cd
[root@140 ~]# cd php-8.1.11/
[root@140 php-8.1.11]# \cp php.ini-production /etc/php.ini 
[root@140 php-8.1.11]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@140 php-8.1.11]# chmod +x /etc/rc.d/init.d/php-fpm 
[root@140 php-8.1.11]# ll /etc/rc.d/init.d/php-fpm 
-rwxr-xr-x 1 root root 2402 Oct 19 04:59 /etc/rc.d/init.d/php-fpm
[root@140 php-8.1.11]# pwd
/root/php-8.1.11


[root@140 php-8.1.11]# cd /usr/local/php8/etc/
[root@140 etc]# ls
pear.conf  php-fpm.conf.default  php-fpm.d
[root@140 etc]# cp php-fpm.conf.default php-fpm.conf
[root@140 etc]# cd php-fpm.d/
[root@140 php-fpm.d]# ls
www.conf.default
[root@140 php-fpm.d]# cp www.conf.default www.conf
[root@140 php-fpm.d]# vim www.conf
36 listen = 127.0.0.1:9000

启动,并测试配置是否正确
[root@140 php-fpm.d]# cd /etc/init.d/
[root@140 init.d]# ls
functions  php-fpm  README
[root@140 init.d]# service php-fpm start
Starting php-fpm  done
[root@140 init.d]# ss -anlt
State      Recv-Q     Send-Q         Local Address:Port           Peer Address:Port     Process     
LISTEN     0          128                127.0.0.1:9000                0.0.0.0:*                    
LISTEN     0          128                  0.0.0.0:80                  0.0.0.0:*                    
LISTEN     0          128                  0.0.0.0:22                  0.0.0.0:*                    
LISTEN     0          70                         *:33060                     *:*                    
LISTEN     0          128                        *:3306                      *:*                    
LISTEN     0          128                     [::]:22                     [::]:*                    
[root@140 init.d]# service php-fpm stop
Gracefully shutting down php-fpm . done
[root@140 init.d]# ss -anlt
State      Recv-Q     Send-Q         Local Address:Port           Peer Address:Port     Process     
LISTEN     0          128                  0.0.0.0:80                  0.0.0.0:*                    
LISTEN     0          128                  0.0.0.0:22                  0.0.0.0:*                    
LISTEN     0          70                         *:33060                     *:*                    
LISTEN     0          128                        *:3306                      *:*                    
LISTEN     0          128                     [::]:22                     [::]:*                    
[root@140 init.d]# service php-fpm start
Starting php-fpm  done
[root@140 init.d]# 

3.4 配置nginx

[root@140 ~]# cd /usr/local/nginx/conf/
[root@140 conf]# vim nginx.conf
[root@140 conf]# vim nginx.conf
[root@140 conf]# cat nginx.conf
//将以下内容取消注释并修改    
        location / {
            root   html;
            index  index.php index.html index.htm; #添加index.php
        }
 
65         location ~ \.php$ {
 66             root           html;
 67             fastcgi_pass   127.0.0.1:9000;
 68             fastcgi_index  index.php;
 69             fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
 70             include        fastcgi_params;
 71         }


[root@140 conf]# nginx -s stop
[root@140 conf]# nginx

3.5 配置PHP网络界面

[root@140 ~]# cd /usr/local/nginx/html/
[root@140 html]# vi index.php
[root@140 html]# cat index.php
<?php
    phpinfo();
?>
[root@140 html]# 

重启
[root@140 ~]# nginx -s stop
[root@140 ~]# nginx

浏览器访问http://192.168.141.140/index.php
在这里插入图片描述

4. 部署

4.1 在141主机安装httpd,做静态资源

[root@141 ~]# yum -y install httpd
[root@141 ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@141 ~]# ss -anlt
State      Recv-Q     Send-Q         Local Address:Port           Peer Address:Port     Process     
LISTEN     0          128                  0.0.0.0:22                  0.0.0.0:*                    
LISTEN     0          128                        *:80                        *:*                    
LISTEN     0          128                     [::]:22                     [::]:*                    
[root@141 ~]# 

配置静态测试页面
[root@141 ~]# cd /var/www/html/
[root@141 html]# echo '141 jingtai ' > index.html
[root@141 html]# systemctl restart httpd.service 

在这里插入图片描述

4.2 在143主机源码安装nginx并配置负载均衡器,进行调度

[root@143 ~]# wget https://nginx.org/download/nginx-1.22.0.tar.gz
--2022-09-05 20:47:25--  https://nginx.org/download/nginx-1.22.0.tar.gz
Resolving nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5704::6, ...
Connecting to nginx.org (nginx.org)|3.125.197.172|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1073322 (1.0M) [application/octet-stream]
Saving to: 'nginx-1.22.0.tar.gz'

nginx-1.22.0.tar. 100%[==========>]   1.02M  29.1KB/s    in 20s     

2022-09-05 20:47:47 (51.5 KB/s) - 'nginx-1.22.0.tar.gz' saved [1073322/1073322]


[root@143 ~]# useradd -r -M -s /sbin/nologin nginx
[root@143 ~]# yum -y groups mark install 'Development Tools'
[root@143 ~]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++ make 


[root@143 ~]# mkdir -p /var/log/nginx
[root@143 ~]# chown -R nginx.nginx /var/log/nginx
[root@143 ~]# ll -d /var/log/nginx
drwxr-xr-x. 2 nginx nginx 6 Sep  5 20:51 /var/log/nginx
[root@143 ~]# tar xf nginx-1.22.0.tar.gz 
[root@143 ~]# cd nginx-1.22.0
[root@143 nginx-1.22.0]# ./configure \
     --prefix=/usr/local/nginx \
     --user=nginx \
     --group=nginx \
     --with-debug \
     --with-http_ssl_module \
     --with-http_realip_module \
     --with-http_image_filter_module \
     --with-http_gunzip_module \
     --with-http_gzip_static_module \
     --with-http_stub_status_module \
     --http-log-path=/var/log/nginx/access.log \
     --error-log-path=/var/log/nginx/error.log

[root@143 nginx-1.22.0]# make
[root@143 nginx-1.22.0]# make install


[root@143 ~]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh
[root@143 ~]# source /etc/profile.d/nginx.sh

[root@143 nginx-1.22.0]# cd
[root@143 ~]# nginx 
[root@143 ~]# ss -anlt
State      Recv-Q     Send-Q         Local Address:Port           Peer Address:Port     Process     
LISTEN     0          128                  0.0.0.0:80                  0.0.0.0:*                    
LISTEN     0          128                  0.0.0.0:22                  0.0.0.0:*                    
LISTEN     0          128                     [::]:22                     [::]:*                    
[root@143 ~]# 

5. 配置负载均衡

[root@143 ~]# cd /usr/local/nginx/conf/
[root@143 conf]# vim nginx.conf
	#gzip  on;
    upstream backend {
        server 192.168.141.140;
        server 192.168.141.141;
        }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://backend;
        }

        #location / {
        #    root   html;
        #    index  index.html index.htm;
        #}

[root@143 conf]# nginx -s reload
[root@143 conf]# nginx -s stop
[root@143 conf]# nginx 
[root@143 conf]# ss -anlt
State      Recv-Q     Send-Q         Local Address:Port           Peer Address:Port     Process     
LISTEN     0          128                  0.0.0.0:80                  0.0.0.0:*                    
LISTEN     0          128                  0.0.0.0:22                  0.0.0.0:*                    
LISTEN     0          128                     [::]:22                     [::]:*                    
[root@143 conf]# 

第一次访问 http://192.168.141.143/
在这里插入图片描述

第二次访问 http://192.168.141.143/ 会以轮询方式显示网页
在这里插入图片描述

6. 实现动静分离

[root@143 conf]# pwd
/usr/local/nginx/conf
[root@143 conf]# vim nginx.conf
   #gzip  on;
    upstream static {
        server 192.168.141.141;  #httpd主机的ip
        }
    
    upstream dynamic {
        server 192.168.141.140;  #lnmp主机的ip
        }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://static;  #和上面httpd设置相对应,访问静态资源会自动跳转到进行访问,
        }

        #location / {
        #    root   html;
        #    index  index.php index.html index.htm;
        #}

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        location ~ \.php$ {
            proxy_pass   http://dynamic;
        }

[root@143 conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@143 conf]# nginx -s reload
[root@143 conf]# nginx -s stop
[root@143 conf]# nginx
[root@143 conf]# ss -anlt
State      Recv-Q     Send-Q         Local Address:Port           Peer Address:Port     Process     
LISTEN     0          128                  0.0.0.0:80                  0.0.0.0:*                    
LISTEN     0          128                  0.0.0.0:22                  0.0.0.0:*                    
LISTEN     0          128                     [::]:22                     [::]:*                    
[root@143 conf]# 

  • 访问静态资源:http://192.168.141.143

在这里插入图片描述

  • 访问动态资源:http://192.168.141.143/index.php

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nginx做负载均衡服务器,配置动静分离 的相关文章

  • 无法访问opensips control panel

    OpenSIPS控制面板是一个用于供应的PHP Web门户OpenSIPS服务器 xff0c 可以为opensips提供系统和用户配置 xff0c 我们可以在该面板上添加 修改 管理sip账户信息和权限 有时候无法访问 xff0c 需要先将
  • sip电话注册失败问题解决心得总结

    这是我学习搭建opensips服务器以来持续性最长的一个问题 xff0c 具体就是终端电话软件一直注册不了已经创建好的sip会话账号 我刚开始用的终端电话软件是Zoiper xff0c 要么一直在注册中 xff0c 要么直接注册失败 xff
  • 面向对象以及类和对象的概念

    面向对象 面向对象和面向过程的区别 面向过程 xff1a 主要的关注点是实现具体的过程 xff0c 因果关系 集成显卡的开发思路 优点 xff1a 对于业务逻辑比较简单的程序 xff0c 可以达到快速开发 xff0c 前期投入成本较低 缺点
  • 尚硅谷hadoop3.x集群配置笔记及常见错误解决方式

    1 搭建集群准备工作 总体流程 准备3台客户机 xff08 关闭防火墙 静态IP 主机名称 xff09 安装JDK 配置环境变量 安装Hadoop 配置环境变量 配置集群 单点启动 配置ssh 群起并测试集群 一 模板虚拟机的搭建 配置要求
  • Centos 7系统下NTP时间同步服务配置

    NTP分为服务器端与客户端 xff08 自己选择某一台机器为服务器端 xff0c 其他机器则为客户端 xff09 xff0c 其中 xff0c 客户端通过向服务器端发送时间同步请求实现整个集群的时间同步 具体操作步骤如下所示 xff1a 1
  • EduCoder-程序设计技术R(第四部分循环结构程序设计1)- 第5关:求sn=a+aa+aaa+aaaa+......的值

    大家好鸭 x1f60e xff0c 前几期的EduCoder题解 xff0c 阅读量超过了之前的好多文章 xff01 谢谢大家的阅读 如果题目AC的话 xff0c 求一个免费的赞噢 x1f47b 如果有编程相关的问题 xff0c 可以一起交
  • 和风天气获取天气情况

    和风天气api xff08 实时天气 xff09 https dev qweather com docs api weather weather now 控制台 https console qweather com apps 1 进入控制台
  • Java习题练习:组队

    目录 题目描述 思路 其他真题 题目描述 作为篮球队教练 你需要从以下名单中选出1 号位至5 号位各一名球员 组成球队的首发阵容 每位球员担任1 号位至5 号位时的评分如下表所示 请你计算首发阵容1 号位至5 号位的评分之和最大可能是多少
  • 基于朴素贝叶斯分类器的西瓜数据集(实战)

    最近刚开始学习机器学习中的朴素贝叶斯分类器 xff0c 用西瓜数据集做了一下 xff0c 最后结果预测正确率75 xff0c 其中运用到的python语法并不复杂 xff0c 适合小白观看 目录 朴素贝叶斯分类器思想的自然语言描述 xff1
  • Golang将密码盐加密

    代码地址 xff1a https gitcode net m0 51510236 go password 首先我们来初始化一个项目 go mod init go password golang密码加密我们可以使用 golang org x
  • Spring使用SpringJUnit4ClassRunner时出现java.lang.NoSuchMethodError错误

    报错情况如下 xff1a java lang NoSuchMethodError org springframework core annotation AnnotatedElementUtils getAnnotationAttribut
  • 自己动手搭建网站:electerm远程连接云服务器,部署环境并发布第一个静态页面

    上篇写了云服务器和域名的选购 xff0c 这篇接上篇 xff0c 记录一下如何远程连接云服务器 xff0c 并发布第一个静态网页 xff0c 环境部署在另一篇博文里 xff1a Linux xff08 CentOS7 xff09 下配置jd
  • 解决IDEA报错Failed to start bean ‘documentationPluginsBootstrapper‘

    前言 白嫖容易 xff0c 创作不易 xff0c 若以下方案解决了问题烦请点赞支持一下 xff08 关注一下更好 xff09 在使用IDEA做项目时使用了Swagger进行接口文档的处理 swagger 使用的版本为2 9 2 xff0c
  • C语言%d输出的不同形式

    d就是普通的输出 2d是将数字按宽度为2 xff0c 采用右对齐方式输出 xff0c 若数据位数不到2位 xff0c 则左边补空格 2d是将数字按宽度为2 xff0c 采用左对齐方式输出 xff0c 若数据位数不到2位 xff0c 则右边补
  • latex常用语法

    字母表 字母上面的上标输入方法 xff0c 如右图所示 xff0c 如 bar a 表示字母a头上有一横线 小写希腊字母的输入方法 xff0c 如右图所示 xff0c 大写希腊字母的输入方法 xff0c 如右图所示 xff0c 大写希腊字母
  • Centos 7 内核升级

    一 升级至最新版本内核 1 升级系统包 xff0c 命令如下 yum update y 2 升级内核 xff0c 命令如下 rpm import http www elrepo orq RPM GPG KEY elrepo orq rpm
  • Win11安装Android子系统

    目录 一 获取安卓子系统安装包 二 安装Hyper v 三 运行Android安装包 四 安装组策略编辑器 五 配置Android环境 六 安装安卓apk格式app 一 获取安卓子系统安装包 百度云盘获取包 链接 xff1a https p
  • python-切割字符串成为列表(split函数)

    split函数切割字符串成为列表 在python的input时 xff0c 我们接收都是string类型 information span class token operator 61 span span class token buil
  • MyBatis实现分页查询

    目录 一 基于注解的简单分页查询 1 定义对象 2 Mapper接口 3 Controller类 4 功能实现 二 基于注解的较复杂分页查询 1 定义shop实体类和page分页类 2 Mapper接口 3 Controller类 4 功能
  • python 读取word表格中的表格

    解决方案 xff1a 在网上没有找到可行的嵌套表格内容读取方法 查看python docx包源代码找到以下两种解决方案 xff1a 方案一 xff1a 按行列读到单元格后再取tables xff0c 此处table cell tables值

随机推荐

  • sublime配置C/C++并调试

    文章目录 前言1 工具准备1 1 sublime的安装1 2 MinGw的安装和配置 2 开始配置2 1 MinGw路径放进环境变量2 2 sublime的配置 3 开始使用3 1 运行代码3 2 调试代码 前言 本文主要讲关于sublim
  • 洛谷P1025 [NOIP2001 提高组] 数的划分(DP)

    题目描述 将整数 n n n 分成 k k k 份 xff0c 且每份不能为空 xff0c 任意两个方案不相同 xff08 不考虑顺序 xff09 例如 xff1a
  • 【Rust深入浅出-5】拓展数据类型

    Rust深入浅出 5 拓展数据类型 第一章Hello World 第二章 变量和基本数据类型 第三章 运算符 第四章 类型转换 第五章 拓展数据类型 文章目录 Rust深入浅出 5 拓展数据类型前言slice切片tuple元组索引match
  • sort 函数排序之cmp浅析

    1 一般来说 xff0c sort可对整型和浮点型数据进行排序 xff0c 排序从小到大 xff0c 如果需要变为从大到小 xff0c 那么我们可以定义一个cmp函数 xff0c 定义如下 xff1a bool cmp int x int
  • 魔导师晨拥

    链接 xff1a 登录 专业IT笔试面试备考平台 牛客网 来源 xff1a 牛客网 魔导师晨拥是 炉石传说 中的一张传说卡牌 魔导师晨拥的英雄技能为初始造成 222 点伤害 xff0c 如果恰好消灭某个随从 xff0c 则伤害永久增加 11
  • Royal TSX常见问题:解决远程桌面(RDP)连接错误

    Royal TSX mac破解版是一款帮助用户管理桌面的Mac桌面管理软件 xff0c Royal TSX for mac为你提供方便安全的访问远程系统 Royal TSX专为服务器管理员 系统工程师 开发人员和IT信息工作者开发设计 xf
  • 解决jupyter notebook :No module named ‘tensorflow‘ 及python.exe无法找到入口问题及500 : Internal Server Error

    目录 jupyter notebook ModuleNotFoundError No module named 39 tensorflow 39 问题 可能性1 xff1a tensorflow版本与python版本不匹配 可能性2 xff
  • Ceph安装步骤1——基础Ceph集群安装

    一 基础环境 本文所搭建环境为Centos 7 内核4 17版本 xff0c 安装Ceph版本为luminous 一共配置三台机器 xff0c 每台机器的IP地址和主机名称分别为 xff1a 192 168 1 131 ceph admin
  • 远程桌面--某些设置由你的组织管理

    解决某些设置由你的组织管理 在cmd的运行里输入 gpedit msc 选择 计算机配置 gt 选择 管理模块 gt 选择 Windows组件 gt 选择 远程桌面服务 gt 选择 远程 桌面会话主机 gt 选择 连接 gt 右击 允许用户
  • 数据结构--第三章--栈和队列--知识点回顾

    第三章 栈和队列 一 基本知识点 1 栈 队列和线性表的异同 2 顺序栈的基本运算算法设计 3 链栈的基本运算算法设计 4 顺序队的基本运算算法设计 5 环形队列和非环形队列的特点 6 链队的基本运算算法设计 7 利用栈 队列求解复杂的应用
  • 实验四 SQL连接查询

    一 实验目的 xff1a 掌握SQL连接查询语句 二 实验内容和主要步骤 xff1a 查询每个学生及其选修成绩的情况 select sno cno Grade from sc 分别用左外连接和右外连接实现查询所有学生信息及其选修成绩的情况
  • wsl+opencv——清除旧版并安装新版,实测有效

    写在前面 我用的是cmake方式编译安装的opencv xff0c 但一直弄不好contrib这个东西 xff0c 索性先不用老版本的opencv我把源文件都删掉了 xff0c 没法用网上的一些方法make uninstall 卸载清除旧版
  • JAVA编程——父子类

    编程需求 需求如下 xff1a 编写父类People xff0c 子类Student继承自People类 父类People具有姓名 xff0c 性别 xff0c 年龄等性质 xff0c 还具有吃和说的行为 子类Student继承父类Peop
  • 部署zabbix6.2

    zabbix6 2安装步骤 配置阿里云源 注意本机的操作系统的centos8 span class token punctuation span root 64 localhost span class token operator spa
  • zabbix功能介绍

    1 zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix能监视各种网络参数 xff0c 保证服务器系统的安全运营 xff1b 并提供灵活的通知机制以让系统管理员快速定位
  • haproxy部署安装

    haproxy简介 HAProxy是一个使用C语言编写的自由及开放源代码软件 xff0c 其提供高可用性 负载均衡 xff0c 以及基于TCP和HTTP的应用程序代理 HAProxy特别适用于那些负载特大的web站点 xff0c 这些站点通
  • KVM虚拟化介绍和安装使用方法

    一 KVM虚拟化介绍 虚拟化 xff1a 在一台计算机上虚拟出多个逻辑的计算机 xff0c 而且每个逻辑计算机 它可以是不同操作系统 虚拟化技术 xff1a 可以扩大硬件容量 xff0c 单个cpu模拟出多个cpu并行 xff0c 允许一个
  • nginx反向代理与负载均衡以及高可用

    nginx反向代理介绍 nginx通常被用作后端服务器的反向代理 xff0c 这样就可以很方便的实现动静分离以及负载均衡 xff0c 从而大大提高服务器的处理能力 nginx实现动静分离 xff0c 其实就是在反向代理的时候 xff0c 如
  • Ceph 配置URL访问s3 Bucket

    一 创建json文件 xff0c 用于编辑policy xff0c 文件内容如下 xff08 Version并不重要 xff09 xff0c Action存在多种选择 如步骤三所示 xff0c 并且允许同时选择多个 xff0c 本文只是通过
  • nginx做负载均衡服务器,配置动静分离

    nginx做负载均衡服务器 xff0c 配置动静分离 1 题目要求 xff1a 后端RS服务器 台部署LNMP nginx1 22 43 mysql8 0 43 php8 1 xff0c 台部署 httpd 要求nginx和php使 编译安