Linux系统之LAMP实现
1、部署分离的LAMP,部署到二台服务器上,php加载xcache模块
首先准备LAMP环境,准备两台Linux主机,一台是192.168.0.10 ,这台上面主要跑apache httpd ,mariadb数据库,另外一台是192.168.0.30 ,这台上面跑php-fpm;
1)在192.168.0.10这台主机上安装httpd和mariadb ,这个安装可以yum安装,也可以编译安装。我这里就yum安装来演示
[root@test-centos7-node1 ~]# ip a s ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:f2:82:0c brd ff:ff:ff:ff:ff:ff
inet 192.168.0.10/24 brd 192.168.0.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fef2:820c/64 scope link
valid_lft forever preferred_lft forever
[root@test-centos7-node1 ~]# yum install -y httpd mariadb-server
Loaded plugins: fastestmirror
my_base | 3.6 kB 00:00:00
Loading mirror speeds from cached hostfile
epel/x86_64/primary_db | 6.9 MB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-67.el7.centos will be installed
--> Processing Dependency: httpd-tools = 2.4.6-67.el7.centos for package: httpd-2.4.6-67.el7.centos.x86_64
--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-67.el7.centos.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-67.el7.centos.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-67.el7.centos.x86_64
---> Package mariadb-server.x86_64 1:5.5.56-2.el7 will be installed
--> Processing Dependency: mariadb(x86-64) = 1:5.5.56-2.el7 for package: 1:mariadb-server-5.5.56-2.el7.x86_64
--> Processing Dependency: perl-DBI for package: 1:mariadb-server-5.5.56-2.el7.x86_64
--> Processing Dependency: perl-DBD-MySQL for package: 1:mariadb-server-5.5.56-2.el7.x86_64
--> Processing Dependency: perl(Data::Dumper) for package: 1:mariadb-server-5.5.56-2.el7.x86_64
--> Processing Dependency: perl(DBI) for package: 1:mariadb-server-5.5.56-2.el7.x86_64
--> Processing Dependency: libaio.so.1(LIBAIO_0.4)(64bit) for package: 1:mariadb-server-5.5.56-2.el7.x86_64
--> Processing Dependency: libaio.so.1(LIBAIO_0.1)(64bit) for package: 1:mariadb-server-5.5.56-2.el7.x86_64
--> Processing Dependency: libaio.so.1()(64bit) for package: 1:mariadb-server-5.5.56-2.el7.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-3.el7 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
---> Package httpd-tools.x86_64 0:2.4.6-67.el7.centos will be installed
---> Package libaio.x86_64 0:0.3.109-13.el7 will be installed
---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed
---> Package mariadb.x86_64 1:5.5.56-2.el7 will be installed
---> Package perl-DBD-MySQL.x86_64 0:4.023-5.el7 will be installed
---> Package perl-DBI.x86_64 0:1.627-4.el7 will be installed
--> Processing Dependency: perl(RPC::PlServer) >= 0.2001 for package: perl-DBI-1.627-4.el7.x86_64
--> Processing Dependency: perl(RPC::PlClient) >= 0.2000 for package: perl-DBI-1.627-4.el7.x86_64
---> Package perl-Data-Dumper.x86_64 0:2.145-3.el7 will be installed
--> Running transaction check
---> Package perl-PlRPC.noarch 0:0.2020-14.el7 will be installed
--> Processing Dependency: perl(Net::Daemon) >= 0.13 for package: perl-PlRPC-0.2020-14.el7.noarch
--> Processing Dependency: perl(Net::Daemon::Test) for package: perl-PlRPC-0.2020-14.el7.noarch
--> Processing Dependency: perl(Net::Daemon::Log) for package: perl-PlRPC-0.2020-14.el7.noarch
--> Processing Dependency: perl(Compress::Zlib) for package: perl-PlRPC-0.2020-14.el7.noarch
--> Running transaction check
---> Package perl-IO-Compress.noarch 0:2.061-2.el7 will be installed
--> Processing Dependency: perl(Compress::Raw::Zlib) >= 2.061 for package: perl-IO-Compress-2.061-2.el7.noarch
--> Processing Dependency: perl(Compress::Raw::Bzip2) >= 2.061 for package: perl-IO-Compress-2.061-2.el7.noarch
---> Package perl-Net-Daemon.noarch 0:0.48-5.el7 will be installed
--> Running transaction check
---> Package perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 will be installed
---> Package perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 will be installed
--> Finished Dependency Resolution Dependencies Resolved ==========================================================================================
Package Arch Version Repository Size
==========================================================================================
Installing:
httpd x86_64 2.4.6-67.el7.centos my_base 2.7 M
mariadb-server x86_64 1:5.5.56-2.el7 my_base 11 M
Installing for dependencies:
apr x86_64 1.4.8-3.el7 my_base 103 k
apr-util x86_64 1.5.2-6.el7 my_base 92 k
httpd-tools x86_64 2.4.6-67.el7.centos my_base 87 k
libaio x86_64 0.3.109-13.el7 my_base 24 k
mailcap noarch 2.1.41-2.el7 my_base 31 k
mariadb x86_64 1:5.5.56-2.el7 my_base 8.7 M
perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 my_base 32 k
perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 my_base 57 k
perl-DBD-MySQL x86_64 4.023-5.el7 my_base 140 k
perl-DBI x86_64 1.627-4.el7 my_base 802 k
perl-Data-Dumper x86_64 2.145-3.el7 my_base 47 k
perl-IO-Compress noarch 2.061-2.el7 my_base 260 k
perl-Net-Daemon noarch 0.48-5.el7 my_base 51 k
perl-PlRPC noarch 0.2020-14.el7 my_base 36 k Transaction Summary
==========================================================================================
Install 2 Packages (+14 Dependent packages) Total download size: 24 M
Installed size: 120 M
Downloading packages:
(1/16): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00:00
(2/16): apr-1.4.8-3.el7.x86_64.rpm | 103 kB 00:00:00
(3/16): httpd-tools-2.4.6-67.el7.centos.x86_64.rpm | 87 kB 00:00:00
(4/16): libaio-0.3.109-13.el7.x86_64.rpm | 24 kB 00:00:00
(5/16): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00:00
(6/16): httpd-2.4.6-67.el7.centos.x86_64.rpm | 2.7 MB 00:00:00
(7/16): mariadb-server-5.5.56-2.el7.x86_64.rpm | 11 MB 00:00:02
(8/16): perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm | 32 kB 00:00:00
(9/16): perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm | 57 kB 00:00:00
(10/16): mariadb-5.5.56-2.el7.x86_64.rpm | 8.7 MB 00:00:03
(11/16): perl-DBD-MySQL-4.023-5.el7.x86_64.rpm | 140 kB 00:00:00
(12/16): perl-Data-Dumper-2.145-3.el7.x86_64.rpm | 47 kB 00:00:00
(13/16): perl-DBI-1.627-4.el7.x86_64.rpm | 802 kB 00:00:00
(14/16): perl-IO-Compress-2.061-2.el7.noarch.rpm | 260 kB 00:00:00
(15/16): perl-Net-Daemon-0.48-5.el7.noarch.rpm | 51 kB 00:00:00
(16/16): perl-PlRPC-0.2020-14.el7.noarch.rpm | 36 kB 00:00:00
------------------------------------------------------------------------------------------
Total 5.2 MB/s | 24 MB 00:00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : apr-1.4.8-3.el7.x86_64 1/16
Installing : apr-util-1.5.2-6.el7.x86_64 2/16
Installing : perl-Data-Dumper-2.145-3.el7.x86_64 3/16
Installing : httpd-tools-2.4.6-67.el7.centos.x86_64 4/16
Installing : 1:mariadb-5.5.56-2.el7.x86_64 5/16
Installing : libaio-0.3.109-13.el7.x86_64 6/16
Installing : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64 7/16
Installing : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64 8/16
Installing : perl-IO-Compress-2.061-2.el7.noarch 9/16
Installing : mailcap-2.1.41-2.el7.noarch 10/16
Installing : perl-Net-Daemon-0.48-5.el7.noarch 11/16
Installing : perl-PlRPC-0.2020-14.el7.noarch 12/16
Installing : perl-DBI-1.627-4.el7.x86_64 13/16
Installing : perl-DBD-MySQL-4.023-5.el7.x86_64 14/16
Installing : 1:mariadb-server-5.5.56-2.el7.x86_64 15/16
Installing : httpd-2.4.6-67.el7.centos.x86_64 16/16
Verifying : perl-DBD-MySQL-4.023-5.el7.x86_64 1/16
Verifying : perl-Net-Daemon-0.48-5.el7.noarch 2/16
Verifying : apr-1.4.8-3.el7.x86_64 3/16
Verifying : perl-Data-Dumper-2.145-3.el7.x86_64 4/16
Verifying : httpd-2.4.6-67.el7.centos.x86_64 5/16
Verifying : mailcap-2.1.41-2.el7.noarch 6/16
Verifying : httpd-tools-2.4.6-67.el7.centos.x86_64 7/16
Verifying : apr-util-1.5.2-6.el7.x86_64 8/16
Verifying : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64 9/16
Verifying : perl-PlRPC-0.2020-14.el7.noarch 10/16
Verifying : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64 11/16
Verifying : 1:mariadb-server-5.5.56-2.el7.x86_64 12/16
Verifying : libaio-0.3.109-13.el7.x86_64 13/16
Verifying : perl-DBI-1.627-4.el7.x86_64 14/16
Verifying : perl-IO-Compress-2.061-2.el7.noarch 15/16
Verifying : 1:mariadb-5.5.56-2.el7.x86_64 16/16 Installed:
httpd.x86_64 0:2.4.6-67.el7.centos mariadb-server.x86_64 1:5.5.56-2.el7 Dependency Installed:
apr.x86_64 0:1.4.8-3.el7
apr-util.x86_64 0:1.5.2-6.el7
httpd-tools.x86_64 0:2.4.6-67.el7.centos
libaio.x86_64 0:0.3.109-13.el7
mailcap.noarch 0:2.1.41-2.el7
mariadb.x86_64 1:5.5.56-2.el7
perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7
perl-DBD-MySQL.x86_64 0:4.023-5.el7
perl-DBI.x86_64 0:1.627-4.el7
perl-Data-Dumper.x86_64 0:2.145-3.el7
perl-IO-Compress.noarch 0:2.061-2.el7
perl-Net-Daemon.noarch 0:0.48-5.el7
perl-PlRPC.noarch 0:0.2020-14.el7 Complete!
[root@test-centos7-node1 ~]#
2)启动httpd和mariadb
[root@test-centos7-node1 ~]# systemctl start httpd mariadb
[root@test-centos7-node1 ~]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 50 *:3306 *:*
LISTEN 0 128 :::80 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
[root@test-centos7-node1 ~]#
3)测试httpd和mariadb是否可以正常使用
[root@test-centos7-node1 ~]# echo "this is test page" > /var/www/html/index.html
[root@test-centos7-node1 ~]# curl -I http://192.168.0.10/index.html
HTTP/1.1 200 OK
Date: Mon, 27 Jan 2020 11:51:44 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Mon, 27 Jan 2020 11:51:23 GMT
ETag: "12-59d1db9fd910a"
Accept-Ranges: bytes
Content-Length: 18
Content-Type: text/html; charset=UTF-8 [root@test-centos7-node1 ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec) MariaDB [(none)]> \q
Bye
[root@test-centos7-node1 ~]#
提示:可以看到httdp和mariadb是可以正常访问的。接下来在192.168.0.30机器上安装php-fpm
[root@test-centos7-node3 ~]# ip a s ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:4a:bd:74 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.30/24 brd 192.168.0.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe4a:bd74/64 scope link
valid_lft forever preferred_lft forever
[root@test-centos7-node3 ~]# yum install -y php-fpm
Loaded plugins: fastestmirror
base | 3.6 kB 00:00:00
epel | 5.3 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/4): epel/x86_64/updateinfo | 1.0 MB 00:00:00
(2/4): extras/7/x86_64/primary_db | 159 kB 00:00:00
(3/4): updates/7/x86_64/primary_db | 6.7 MB 00:00:01
(4/4): epel/x86_64/primary_db | 6.9 MB 00:00:02
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package php-fpm.x86_64 0:5.4.16-46.1.el7_7 will be installed
--> Processing Dependency: php-common(x86-64) = 5.4.16-46.1.el7_7 for package: php-fpm-5.4.16-46.1.el7_7.x86_64
--> Running transaction check
---> Package php-common.x86_64 0:5.4.16-46.1.el7_7 will be installed
--> Processing Dependency: libzip.so.2()(64bit) for package: php-common-5.4.16-46.1.el7_7.x86_64
--> Running transaction check
---> Package libzip.x86_64 0:0.10.1-8.el7 will be installed
--> Finished Dependency Resolution Dependencies Resolved ==========================================================================================
Package Arch Version Repository Size
==========================================================================================
Installing:
php-fpm x86_64 5.4.16-46.1.el7_7 updates 1.4 M
Installing for dependencies:
libzip x86_64 0.10.1-8.el7 base 48 k
php-common x86_64 5.4.16-46.1.el7_7 updates 565 k Transaction Summary
==========================================================================================
Install 1 Package (+2 Dependent packages) Total download size: 2.0 M
Installed size: 8.4 M
Downloading packages:
(1/3): libzip-0.10.1-8.el7.x86_64.rpm | 48 kB 00:00:00
(2/3): php-common-5.4.16-46.1.el7_7.x86_64.rpm | 565 kB 00:00:00
(3/3): php-fpm-5.4.16-46.1.el7_7.x86_64.rpm | 1.4 MB 00:00:00
------------------------------------------------------------------------------------------
Total 3.1 MB/s | 2.0 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : libzip-0.10.1-8.el7.x86_64 1/3
Installing : php-common-5.4.16-46.1.el7_7.x86_64 2/3
Installing : php-fpm-5.4.16-46.1.el7_7.x86_64 3/3
Verifying : php-common-5.4.16-46.1.el7_7.x86_64 1/3
Verifying : libzip-0.10.1-8.el7.x86_64 2/3
Verifying : php-fpm-5.4.16-46.1.el7_7.x86_64 3/3 Installed:
php-fpm.x86_64 0:5.4.16-46.1.el7_7 Dependency Installed:
libzip.x86_64 0:0.10.1-8.el7 php-common.x86_64 0:5.4.16-46.1.el7_7 Complete!
[root@test-centos7-node3 ~]#
4)配置php-fpm工作在192.168.0.30的9000端口
[root@test-centos7-node3 ~]# rpm -ql php-fpm
/etc/logrotate.d/php-fpm
/etc/php-fpm.conf
/etc/php-fpm.d
/etc/php-fpm.d/www.conf
/etc/sysconfig/php-fpm
/run/php-fpm
/usr/lib/systemd/system/php-fpm.service
/usr/lib/tmpfiles.d/php-fpm.conf
/usr/sbin/php-fpm
/usr/share/doc/php-fpm-5.4.16
/usr/share/doc/php-fpm-5.4.16/fpm_LICENSE
/usr/share/doc/php-fpm-5.4.16/php-fpm.conf.default
/usr/share/fpm
/usr/share/fpm/status.html
/usr/share/man/man8/php-fpm.8.gz
/var/log/php-fpm
[root@test-centos7-node3 ~]# grep -i "listen" /etc/php-fpm.d/www.conf
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on
; 'port' - to listen on a TCP socket to all addresses on a
; '/path/to/unix/socket' - to listen on a unix socket.
#listen = 127.0.0.1:9000
listen = 192.168.0.30:9000
; Set listen(2) backlog. A value of '-1' means unlimited.
;listen.backlog = -1
; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address
#listen.allowed_clients = 127.0.0.1
;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0666
[root@test-centos7-node3 ~]#
5)启动php-fpm
[root@test-centos7-node3 ~]# systemctl start php-fpm
[root@test-centos7-node3 ~]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 192.168.0.30:9000 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
[root@test-centos7-node3 ~]#
提示:可以看到php-fpm启动起来了,并且监听在192.168.0.30的9000端口上,接下来我们配置httpd,请求.php结尾的资源都交给192.168.0.30:9000执行
6)配置httpd的请求.php的资源能够连接至192.168.0.30:9000
[root@test-centos7-node1 ~]# httpd -M |grep fcgi
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::20c:29ff:fef2:820c. Set the 'ServerName' directive globally to suppress this message
proxy_fcgi_module (shared)
[root@test-centos7-node1 ~]# cat /etc/httpd/conf.d/fcgi.conf
DirectoryIndex index.php
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.0.30:9000/var/www/html/$1
[root@test-centos7-node1 ~]#
提示:如果没有加载proxy_fcgi_module需要先加载此模块,然后才能够代理fcgi协议
7)在192.168.0.30上新建一个php测试页面,然后访问192.168.0.10/teset.php,如果能够将测试页面解析出来,说明httpd和php-fpm是连接正常的
[root@test-centos7-node3 ~]# ip a s ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:4a:bd:74 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.30/24 brd 192.168.0.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe4a:bd74/64 scope link
valid_lft forever preferred_lft forever
[root@test-centos7-node3 ~]# ll /var/www/html
ls: cannot access /var/www/html: No such file or directory
[root@test-centos7-node3 ~]# mkdir /var/www/html -p
[root@test-centos7-node3 ~]# cat > /var/www/html/test.php
<?php
phpinfo();
?>
^C
[root@test-centos7-node3 ~]# cat /var/www/html/test.php
<?php
phpinfo();
?>
[root@test-centos7-node3 ~]#
8)重新启动httpd,然后访问192.168.10/test.php
[root@test-centos7-node1 ~]# systemctl restart httpd
[root@test-centos7-node1 ~]# curl -I http://192.168.0.10/test.php
HTTP/1.1 200 OK
Date: Mon, 27 Jan 2020 12:54:56 GMT
Server: Apache/2.4.6 (CentOS)
X-Powered-By: PHP/5.4.16
Content-Type: text/html; charset=UTF-8 [root@test-centos7-node1 ~]#
提示:到此LAP环境已经搭建好了,但是php-fpm是不支持xcode的,接下来我们来安装xcache模块
9)安装xcache模块
[root@test-centos7-node3 ~]# yum install -y php-xcache
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package php-xcache.x86_64 0:3.1.1-1.el7 will be installed
--> Finished Dependency Resolution Dependencies Resolved ==========================================================================================
Package Arch Version Repository Size
==========================================================================================
Installing:
php-xcache x86_64 3.1.1-1.el7 epel 72 k Transaction Summary
==========================================================================================
Install 1 Package Total download size: 72 k
Installed size: 187 k
Downloading packages:
php-xcache-3.1.1-1.el7.x86_64.rpm | 72 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : php-xcache-3.1.1-1.el7.x86_64 1/1
Verifying : php-xcache-3.1.1-1.el7.x86_64 1/1 Installed:
php-xcache.x86_64 0:3.1.1-1.el7 Complete!
[root@test-centos7-node3 ~]#
提示:当然xcache这个模块我们可以编译安装。
10)重启php-fpm,然后访问测试页,看看是不是支持xcache
[root@test-centos7-node3 ~]# systemctl restart php-fpm
[root@test-centos7-node3 ~]#
提示:通过访问测试页面,我们看到了php-fpm支持了xcache,到此php部分就搭建完毕了,接下来我们要来利用php连接数据库
11)安装php-mysql 此包用于php连接mysql数据库
[root@test-centos7-node3 ~]# yum install -y php-mysql
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package php-mysql.x86_64 0:5.4.16-46.1.el7_7 will be installed
--> Processing Dependency: php-pdo(x86-64) = 5.4.16-46.1.el7_7 for package: php-mysql-5.4.16-46.1.el7_7.x86_64
--> Running transaction check
---> Package php-pdo.x86_64 0:5.4.16-46.1.el7_7 will be installed
--> Finished Dependency Resolution Dependencies Resolved ==========================================================================================
Package Arch Version Repository Size
==========================================================================================
Installing:
php-mysql x86_64 5.4.16-46.1.el7_7 updates 101 k
Installing for dependencies:
php-pdo x86_64 5.4.16-46.1.el7_7 updates 99 k Transaction Summary
==========================================================================================
Install 1 Package (+1 Dependent package) Total download size: 201 k
Installed size: 424 k
Downloading packages:
(1/2): php-mysql-5.4.16-46.1.el7_7.x86_64.rpm | 101 kB 00:00:00
(2/2): php-pdo-5.4.16-46.1.el7_7.x86_64.rpm | 99 kB 00:00:00
------------------------------------------------------------------------------------------
Total 513 kB/s | 201 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : php-pdo-5.4.16-46.1.el7_7.x86_64 1/2
Installing : php-mysql-5.4.16-46.1.el7_7.x86_64 2/2
Verifying : php-mysql-5.4.16-46.1.el7_7.x86_64 1/2
Verifying : php-pdo-5.4.16-46.1.el7_7.x86_64 2/2 Installed:
php-mysql.x86_64 0:5.4.16-46.1.el7_7 Dependency Installed:
php-pdo.x86_64 0:5.4.16-46.1.el7_7 Complete!
[root@test-centos7-node3 ~]#
12)在192.168.0.10的mariadb数据库里添加一个帐号,用于php测试连接数据库用
[root@test-centos7-node1 ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> grant all on *.* to 'php_test'@'192.168.0.%' identified by 'admin';
Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> \q
Bye
[root@test-centos7-node1 ~]#
13)在php-fpm服务器上添加一个测试页,用于测试php-fpm是否能够连接数据库
[root@test-centos7-node3 html]# pwd
/var/www/html
[root@test-centos7-node3 html]# ll
total 8
-rw-r--r-- 1 root root 159 Feb 14 07:21 test_conn_mysql.php
-rw-r--r-- 1 root root 20 Feb 14 06:40 test.php
[root@test-centos7-node3 html]# cat test_conn_mysql.php
<?php
$mysqli=new mysqli("192.168.0.10","php_test","admin");
if(mysqli_connect_errno()){
echo "Failure";
$mysqli=null;
exit;
}
echo "OK\n";
$mysqli->close();
?>
[root@test-centos7-node3 html]#
14)重启php-fpm,然后再访问http://192.168.0.10/test_conn_mysql.php
[root@test-centos7-node3 html]# curl http://192.168.0.10/test_conn_mysql.php
OK
[root@test-centos7-node3 html]#
提示:可以看到我们访问测试连接数据库的脚本文件能够正常连接到数据库,到此LAMP的环境就搭建完毕了。
2、部署wordpress论坛,并实现正常访问登录论坛。
1)下载wordpress源码包,然后把源码放到我们刚才搭建的LAMP环境中。
[root@test-centos7-node1 ~]# ip a s ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:f2:82:0c brd ff:ff:ff:ff:ff:ff
inet 192.168.0.10/24 brd 192.168.0.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fef2:820c/64 scope link
valid_lft forever preferred_lft forever
[root@test-centos7-node1 ~]# cd /var/www/html/
[root@test-centos7-node1 html]# ls
[root@test-centos7-node1 html]# rz
rz waiting to receive.
zmodem trl+C ȡ 100% 7989 KB 7989 KB/s 00:00:01 0 Errorstar.gz...
Transferring wordpress-4.5.1-zh_CN.tar.gz... [root@test-centos7-node1 html]# ls
wordpress-4.5.1-zh_CN.tar.gz
[root@test-centos7-node1 html]# tar xf wordpress-4.5.1-zh_CN.tar.gz
[root@test-centos7-node1 html]#
提示:在192.168.0.10上放一份源码的原因是httpd的静态页面是不会往后面的php-fpm服务器转的,所以我们放程序源码除了httpd上要放一份外,php-fpm服务器上也要放一份
[root@test-centos7-node3 ~]# ip a s ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:4a:bd:74 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.30/24 brd 192.168.0.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe4a:bd74/64 scope link
valid_lft forever preferred_lft forever
[root@test-centos7-node3 ~]# cd /var/www/html/
[root@test-centos7-node3 html]# ls
pdo.php test_conn_mysql.php test.php
[root@test-centos7-node3 html]# rm -rf *
[root@test-centos7-node3 html]# ls
[root@test-centos7-node3 html]# rz
rz waiting to receive.
zmodem trl+C ȡ 100% 7989 KB 7989 KB/s 00:00:01 0 Errorstar.gz... [root@test-centos7-node3 html]# tar xf wordpress-4.5.1-zh_CN.tar.gz
[root@test-centos7-node3 html]# ls
wordpress wordpress-4.5.1-zh_CN.tar.gz
[root@test-centos7-node3 html]#
提示:放好源码文件后,我们要在数据库里创建一个库来存放wordpress程序的数据
2)在数据库里创建一个数据库用于存放wordpress的各种数据
[root@test-centos7-node1 html]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 36
Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec) MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all on wordpress.* to wordpress@'192.168.0.%' identified by 'admin';
Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec) MariaDB [(none)]> \q
Bye
[root@test-centos7-node1 html]#
提示:为了安全,我们在数据库里专门创建了一个用户用于wordpress程序连接数据库用
接下来我们就可以通过浏览器来安装wordpress
提示:它提示不能写入wp-config.php,我们需要对httpd运行的用户来进行授权,让其对wordpress目录有写操作即可
[root@test-centos7-node3 html]# setfacl -R -m u:apache:rwx wordpress
[root@test-centos7-node3 html]# getfacl wordpress
# file: wordpress
# owner: nobody
# group: 65534
user::rwx
user:apache:rwx
group::r-x
mask::rwx
other::r-x [root@test-centos7-node3 html]#
提示:我们授权其实在php-fpm上面授权即可。授权后我们就可以刷新刚才的安装页面,进行安装
到此wordpress就搭建完毕了,后续就可以通过以上界面管理wordpress
3、收集apache访问日志,并实现图形化展示。
首先说一下实现过程吧,要想图形化展示日志,我们可以利用rsyslog的前端展示工具loganalyzer来展示。用这个工具它是基于LAMP架构来实现的,在这之前我们先把apache的访问日志交给rsyslog,rsyslog再把对应的日志写到数据库里,然后通过日志展示工具loganalyzer去数据库把日志对出来,然后展示出来。
1)配置httpd的日志,把错误日志传给syslog:local1,把访问日志通过管道传给logger,然后logger再把它传给 local2
[root@test-centos7-node1 ~]# grep -E "^Error" /etc/httpd/conf/httpd.conf
ErrorLog syslog:local1
[root@test-centos7-node1 ~]# grep -E "^[[:space:]]*CustomLog" /etc/httpd/conf/httpd.conf
CustomLog "|/usr/bin/logger -p local2.info" combined
[root@test-centos7-node1 ~]#
提示:以上配置就是把httpd的访问日志传给local1 ,把访问日志传给local2,local1和local2是rsyslog的自定义日志设施
2)安装rsyslog-mysql,这个包主要是用于rsyslog连接数据库的一个模块,除此以外还有一个创建数据库和表的SQL脚本,用此脚本可以创建存放日志的库和表
[root@test-centos7-node1 ~]# yum install -y rsyslog-mysql
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package rsyslog-mysql.x86_64 0:8.24.0-12.el7 will be installed
--> Finished Dependency Resolution Dependencies Resolved ==================================================================================================================================
Package Arch Version Repository Size
==================================================================================================================================
Installing:
rsyslog-mysql x86_64 8.24.0-12.el7 my_base 35 k Transaction Summary
==================================================================================================================================
Install 1 Package Total download size: 35 k
Installed size: 20 k
Downloading packages:
rsyslog-mysql-8.24.0-12.el7.x86_64.rpm | 35 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : rsyslog-mysql-8.24.0-12.el7.x86_64 1/1
Verifying : rsyslog-mysql-8.24.0-12.el7.x86_64 1/1 Installed:
rsyslog-mysql.x86_64 0:8.24.0-12.el7 Complete!
[root@test-centos7-node1 ~]# rpm -ql rsyslog-mysql
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql
[root@test-centos7-node1 ~]#
3)导入数据库和表,然后在其数据库里创建一个用于rsyslog连接数据库的专有账号
[root@test-centos7-node1 ~]# rpm -ql rsyslog-mysql
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql
[root@test-centos7-node1 ~]# mysql < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql
[root@test-centos7-node1 ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 60
Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| Syslog |
| mysql |
| performance_schema |
| test |
| wordpress |
+--------------------+
6 rows in set (0.00 sec) MariaDB [(none)]> use Syslog
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
MariaDB [Syslog]> show tables;
+------------------------+
| Tables_in_Syslog |
+------------------------+
| SystemEvents |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec) MariaDB [Syslog]> grant all on Syslog.* to rsyslog@'192.168.0.%' identified by 'admin';
Query OK, 0 rows affected (0.00 sec) MariaDB [Syslog]> flush privileges;
Query OK, 0 rows affected (0.00 sec) MariaDB [Syslog]> \q
Bye
[root@test-centos7-node1 ~]#
4)配置rsyslog加载ommysql模块将local1、local2收集的日志存入数据库中
[root@test-centos7-node1 ~]# grep "ommysql" /etc/rsyslog.conf
$ModLoad ommysql
local1.* :ommysql:192.168.0.10,Syslog,rsyslog,admin
local2.* :ommysql:192.168.0.10,Syslog,rsyslog,admin
[root@test-centos7-node1 ~]#
5)重启rsyslog和httpd后访问httpd服务,然后在其数据库里查看对应的表里是否存有日志
[root@test-centos7-node1 ~]# systemctl restart rsyslog httpd
[root@test-centos7-node1 ~]# curl -I http://192.168.0.10/wordpress
HTTP/1.1 301 Moved Permanently
Date: Mon, 27 Jan 2020 17:08:30 GMT
Server: Apache/2.4.6 (CentOS)
Location: http://192.168.0.10/wordpress/
Content-Type: text/html; charset=iso-8859-1 [root@test-centos7-node1 ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| Syslog |
| mysql |
| performance_schema |
| test |
| wordpress |
+--------------------+
6 rows in set (0.00 sec) MariaDB [(none)]> use Syslog
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
MariaDB [Syslog]> show tables;
+------------------------+
| Tables_in_Syslog |
+------------------------+
| SystemEvents |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec) MariaDB [Syslog]> select * from SystemEvents;
+----+------------+---------------------+---------------------+----------+----------+--------------------+--------------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------+--------------+-----------+----------+----------+------------+-----------+--------------+-----------------+----------+
| ID | CustomerID | ReceivedAt | DeviceReportedTime | Facility | Priority | FromHost | Message | NTSeverity | Importance | EventSource | EventUser | EventCategory | EventID | EventBinaryData | MaxAvailable | CurrUsage | MinUsage | MaxUsage | InfoUnitID | SysLogTag | EventLogType | GenericFileName | SystemID |
+----+------------+---------------------+---------------------+----------+----------+--------------------+--------------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------+--------------+-----------+----------+----------+------------+-----------+--------------+-----------------+----------+
| 1 | NULL | 2020-01-27 12:08:30 | 2020-01-27 12:08:30 | 18 | 6 | test-centos7-node1 | 192.168.0.10 - - [27/Jan/2020:12:08:30 -0500] "HEAD /wordpress HTTP/1.1" 301 - "-" "curl/7.29.0" | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 1 | logger: | NULL | NULL | NULL |
+----+------------+---------------------+---------------------+----------+----------+--------------------+--------------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------+--------------+-----------+----------+----------+------------+-----------+--------------+-----------------+----------+
1 row in set (0.00 sec) MariaDB [Syslog]>
提示:可以看到数据库里已经有我们刚才的访问日志了。到此收集日志记录到数据库的过程就实现了,接下来我们把前端展示工具搭建好就可以把数据库里的日志展示出来
6)上传loganalyzer到/var/ww/html/下,并解压(注意在httpd服务器上放一份的同时php-fpm服务器上也放一份)
[root@test-centos7-node1 html]# ls
wordpress
[root@test-centos7-node1 html]# rz
rz waiting to receive.
zmodem trl+C ȡ 100% 1022 KB 1022 KB/s 00:00:01 0 Errorsgz... [root@test-centos7-node1 html]# tar xf loganalyzer-3.6.5.tar.gz
[root@test-centos7-node1 html]# ls
loganalyzer-3.6.5 loganalyzer-3.6.5.tar.gz wordpress
[root@test-centos7-node1 html]# cd loganalyzer-3.6.5
[root@test-centos7-node1 loganalyzer-3.6.5]# ls
ChangeLog contrib COPYING doc INSTALL src
[root@test-centos7-node1 loganalyzer-3.6.5]# cp -a src ../log
[root@test-centos7-node1 loganalyzer-3.6.5]# cd ..
[root@test-centos7-node1 html]# ls
log loganalyzer-3.6.5 loganalyzer-3.6.5.tar.gz wordpress
[root@test-centos7-node1 html]# scp -r log 192.168.0.30:/var/www/html/
root@192.168.0.30's password:
install.php 100% 41KB 1.0MB/s 00:00
export.php 100% 12KB 309.3KB/s 00:00
searchhelpers.js 100% 6181 1.5MB/s 00:00
common.js 100% 9434 2.0MB/s 00:00
reports.php 100% 4146 110.2KB/s 00:00
details.php 100% 16KB 2.6MB/s 00:00
defaults.css 100% 2039 521.7KB/s 00:00
highlight.css 100% 1032 314.3KB/s 00:00
menu.css 100% 1194 25.9KB/s 00:00
msgparser.class.php 100% 2425 73.3KB/s 00:00
logstreamconfigmongodb.class.php 100% 2573 420.8KB/s 00:00
logstreamconfig.class.php 100% 5439 904.0KB/s 00:00
msgparser.apache2common.class.php
……省略部分内容
7)用浏览器访问192.168.0.10/log安装loganalyzer
提示:上面安装界面提示我们没有config.php文件,需要我们新建一个这样的文件,并且权限得是666的权限
[root@test-centos7-node3 ~]# cd /var/www/html/
[root@test-centos7-node3 html]# ls
log wordpress
[root@test-centos7-node3 html]# cd log/
[root@test-centos7-node3 log]# ls
admin classes details.php images js reports.php themes
asktheoracle.php convert.php doc include lang search.php userchange.php
BitstreamVeraFonts cron export.php index.php login.php statistics.php
chartgenerator.php css favicon.ico install.php reportgenerator.php templates
[root@test-centos7-node3 log]# touch config.php
[root@test-centos7-node3 log]# chmod 666 config.php
[root@test-centos7-node3 log]#
提示:把需要的文件创建好,授好权后,我们点击recheck
提示:安装完毕后,它提示我们错误500,我们知道错误500是服务器内部错误,我们需要在php-fpm上面找原因,我们先看看php-fpm的错误日志吧
[root@test-centos7-node3 log]# cd /var/log/php-fpm/
[root@test-centos7-node3 php-fpm]# ls
error.log www-error.log
[root@test-centos7-node3 php-fpm]# tail www-error.log
[14-Feb-2020 16:00:06 UTC] PHP Notice: Undefined index: ViewStringCharacterLimit in /var/www/html/log/install.php on line 800
[14-Feb-2020 16:00:06 UTC] PHP Notice: Undefined index: ViewEntriesPerPage in /var/www/html/log/install.php on line 801
[14-Feb-2020 16:00:06 UTC] PHP Notice: Undefined index: ViewEnableDetailPopups in /var/www/html/log/install.php on line 802
[14-Feb-2020 16:00:06 UTC] PHP Notice: Undefined index: EnableIPAddressResolve in /var/www/html/log/install.php on line 803
[14-Feb-2020 16:00:06 UTC] PHP Notice: Undefined index: UserDBEnabled in /var/www/html/log/install.php on line 904
[14-Feb-2020 16:00:06 UTC] PHP Warning: Unknown: open(/var/lib/php/session/sess_b7f7ckbngimv44nhs20dpl7807, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
[14-Feb-2020 16:00:06 UTC] PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0
[14-Feb-2020 16:00:48 UTC] PHP Parse error: syntax error, unexpected ';' in /var/www/html/log/config.php on line 86
[14-Feb-2020 16:00:48 UTC] PHP Warning: Unknown: open(/var/lib/php/session/sess_b7f7ckbngimv44nhs20dpl7807, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
[14-Feb-2020 16:00:48 UTC] PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0
[root@test-centos7-node3 php-fpm]#
说明:php-fpm错误日志提示我们说/var/www/html/log/config.php的第86行语法错误
提示:前三个值是我们设置安装loganalyzer的第三步,它这里没有写进来,我们需要手动填一下即可
提示:修改好后,我们在用浏览器访问下192.168.0.10/log看看问题解决没有
提示:还是告诉我们错误500,我们再来看看php-fpm的错误日志,看看它提示我们那里错了
提示:它又告诉我们99行有错误,我们去看看呢
提示:这个错误和上面一样,没有给值,我们可以从后面的解释看看,这个表示什么;它说如果启用,将自动解析IP地址内联消息,并将结果添加到IP后面的括号{}中;那说明这选项要么启动,要么关闭,那我们就填一个1启用嘛
提示:我们改完配置文件后,保存在用浏览器访问192.168.0.10/log看看现在是否可以访问了
提示:可以看到是可以访问了,我们看到我们访问httpd的日志都有记录,并显示在我们搭建的loganalyzer上面
我们点击statistics可能没有图标展示,这是因为我们的服务器上没有安装php-gd这个包,安装好了,重启php-fpm后,在刷新就有了
[root@test-centos7-node3 log]# yum install php-gd -y
[root@test-centos7-node3 log]# systemctl restart php-fpm
提示:我们才搭建好数据量很少,所以看到画的图也不是很好。我们可以把其他主机的日志也接入到数据库中,当数据量比较大时,我们看统计图就可以看到那个主机的日志占比等等信息。如下
到此我们就把httpd的访问日志用rsyslog给收集到数据库中,然后通过loganalyzer 给图形化展示出来了。
Linux系统之LAMP实现的更多相关文章
- Linux系统搭建LAMP平台
知识背景(来自:百度百科): LAMP指的Linux(操作系统).Apache HTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一 ...
- CentOS linux系统搭建LAMP环境
准备工作: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state –state NEW -m tcp -p tcp –dpo ...
- ubuntu下lamp环境配置及将window代码迁移至linux系统
因为最近要用需要去实现项目中的一个功能,比较好的做法就是在http://i.cnblogs.com/EditPosts.aspx?opt=1linux中实现.所以最近就将自己的代码全部迁移到linux ...
- Linux系统快速搭建LAMP
LAMP是 Linux + Apache + MySQL + PHP 的环境要求,即web服务器. 1.前置条件: (1)搭建Linux系统(参考博客:https://www.cnblogs.com/ ...
- 第1章 Linux系统简介
第1节 UNIX发展历史和发行版本 1. UNIX与Linux发展史 1.1 UNIX发展历史 (1)1965年,美国麻省理工学院(MIT).通用电气公司(GE)及AT&T的贝尔实验室联合开发 ...
- Linux下配置Lamp
linux下配置lamp步骤: 一.快速安装Apache+PHP5+MySql 先更新: # yum update 然后安装LAMP环境:(163的yum源上只有php5.1.6 mysql 5.0. ...
- 【转载】Linux系统与性能监控
原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...
- Linux系统与性能监控
原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...
- linux系统下搭建自己的web服务器
之前在windows 2008 server上搭建了一个用于测试的web服务器,但是在打开网站的时候特别的慢,尤其是图片的加载都会失败,当时以为是路径的问题,但是在服务器上自己打开都特别慢,自己实在找 ...
随机推荐
- apache相关实验-2
一.Apache+openssl 实现 https HTTPS(全称:Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的 HTTP 通道,简单 ...
- NetCore 启动地址配置详解
背景 程序在发布部署时候,设置环境ASPNETCORE_URLS不生效,也没在代码里使用UseUrls("xxxx"),启动一直是http://localhost:5000.最后测 ...
- Q&A系列一:DataPipeline常见问题回答
不知不觉中,大家已经陪伴DataPipeline走过了3年时间.在这期间,得益于客户们的积极反馈和沟通,我们总结了一些日常工作中比较常见的问题,并基于这些问题进行了总结. 为避免突兀,我们会先从比较基 ...
- docker+mysql 构建数据库的主从复制
docker+mysql 构建数据库的主从复制 在最近的项目中,决定将项目改造成数据库读写分离的架构,后续会有博文详细讲述我的开发改造,本文主要记录我是如何一步步的构建数据库的主从复制. 为什么使用d ...
- winds消息大全
本文链接:https://blog.csdn.net/testcs_dn/article/details/42360547 消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了.例如, ...
- springboot2 整合redis
1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- pair 数组
当有两个元素需要绑定在一起的时候可以用结构体 , 此时也可以用 pair 数组去替代结构体 . 定义 : pair<int, double> p1; //使用默认构造函数 pair< ...
- 20190925Java课堂记录(一)
判断字符串是否回文 设计思想 利用递归,每次返回长度减二的字符串,最终返回结果 源程序代码 import java.util.Scanner; public class palindrome { st ...
- Matplotlib从兴趣到实践
先看下Matplotlib实现的效果 是不是出现了也想敲一个的心动,那让我们一起来了解Matplotlib吧 Matplotlib安装 1.Windows系统安装Matplotlib 进入到cmd的命 ...
- 【python系统学习08】for循环知识点合集
for循环 for简介 [循环]:就是依照某些我们编写的特定规则,重复的做一件事. 当你需要重复的"搬砖"的时候,可以用for循环进行遍历,让机器循环的帮你去"搬砖&qu ...