相关文章推荐
大气的薯片  ·  使用 Python ...·  1 年前    · 
温暖的书包  ·  Azure Container ...·  1 年前    · 
力能扛鼎的酱肘子  ·  SmartSVN 12 for ...·  1 年前    · 
礼貌的土豆  ·  spark调优 - 简书·  1 年前    · 

CentOS8 Nginx配置php-fpm

https://wiki.miyond.com/?p=316

nginx 中 fastcgi_pass配置为unix:/tmp/php-fpm.sock与127.0.0.1:9000区别

https://blog.csdn.net/resilient/article/details/109850729

nginx中的 fastcgi_pass为什么有时候是unix:/tmp/php-fpm.sock,有时候是127.0.0.1:9000
这牵扯到了nginx和php的通信模式,上面所列的就是这两种,一种是利用系统本身socket的,一种是利用tcp协议的
两种协议有区别,
UNIX Domain Socket不经过网络,只是在系统内部进行通信,适用于php和nginx都装在同一台linux服务器上
tcp通信协议的也就是fastcgi_pass模式的既适用于php和nginx都装在同一台linux服务器上,同时又适用于不在同一台服务器上的,一般在同一个局域网中,也就是127.0.0.1的意义了
当然我们在真正的php搭建服务器环境的时候,具体用那种,就要看php-fpm.conf中使用的是哪种了
tcp方式:
php-fpm.conf: listen = 127.0.0.1:9000
nginx.conf: fastcgi_pass 127.0.0.1:9000;
UNIX Domain Socket方式:
php-fpm.conf: listen = /tmp/php-fpm.sock
nginx.conf: fastcgi_pass unix:/tmp/php-fpm.sock;
在我们真正实例中多数都是装在同一台服务器上,所以选择UNIX Domain Socket是比较合适的选择,因为这样可以避免数据传输经过tcp层造成导致TIME_WAIT连接过多的问题。
具体两个传输方式的流程如下
1.1 TCP Socket(本地回环127.0.0.1)方式的数据传输:
Nginx <=> socket <=> TCP/IP <=> socket <=> PHP-FPM
1.2 TCP Socket(Nginx和PHP-FPM位于不同服务器)的数据传输:
Nginx <=> socket <=> TCP/IP <=> 物理层 <=> 路由器 <=> 物理层 <=> TCP/IP <=> socket <=> PHP-FPM
2 UNIX Domain Socket方式的数据传输:
Nginx <=> socket <=> PHP-FPM
————————————————

如何让tomcat支持PHP运行

http://blog.iis7.com/article/18350.html

centos8安装mysql与mysql的配置文件

https://www.cnblogs.com/jiyuchen1/p/16452651.html

CentOS7上优雅地重置MySQL8.0数据库密码

https://blog.csdn.net/xinpengfei521/article/details/80400142

方案一,centos8.5 yum install  mysql-server.x86_64 , 本地yum源方式安装mysql 8.0.26

[root@scts08t ~]# yum list mysql-server.x86_64

[root@scts08t ~]# yum list mysql-server
Last metadata expiration check: 2:23:54 ago on Wed 23 Nov 2022 09:46:37 AM PST.
Installed Packages
mysql-server.x86_64                 8.0.26-1.module_el8.4.0+915+de215114                  @media-appstream

[root@scts08t ~]# yum install mysql-server.x86_64

[root@scts08t ~]# yum install mysql.x86_64

[root@scts08t ~]# vim /var/log/mysql/mysqld.log

[root@scts08t ~]# vim /var/log/mysql/mysqld.log 
2022-11-23T19:47:36.638628Z 0 [System] [MY-013169] [Server] /usr/libexec/mysqld (mysqld 8.0.26) initializing of server in progress as process 7230
2022-11-23T19:47:36.647063Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-11-23T19:47:36.949404Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-11-23T19:47:38.026356Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2022-11-23T19:47:38.026688Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2022-11-23T19:47:38.137786Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
2022-11-23T19:47:41.063855Z 0 [System] [MY-010116] [Server] /usr/libexec/mysqld (mysqld 8.0.26) starting as process 7278
2022-11-23T19:47:41.075079Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-11-23T19:47:41.235618Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-11-23T19:47:41.612351Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2022-11-23T19:47:41.612628Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2022-11-23T19:47:41.614989Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2022-11-23T19:47:41.615361Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2022-11-23T19:47:41.651953Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/lib/mysql/mysqlx.sock
2022-11-23T19:47:41.652089Z 0 [System] [MY-010931] [Server] /usr/libexec/mysqld: ready for connections. Version: '8.0.26'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  Source distribution.

空密码登录,更新root密码,更新可以外部连接,flush 权限。

[root@scts08t ~]# mysql -uroot -p -hlocalhost

mysql> show databases;

mysql> use mysql;

mysql> alter user user() identified by "ar=vW0cgAyu_8888";

mysql> update mysql.user set host='%' where user='root';

mysql> flush privileges;

方案二, mysql-8.0.31-1.el8.x86_64.rpm-bundle.tar下载解压

https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.31-1.el8.x86_64.rpm-bundle.tar

mysql-community-client-8.0.31-1.el8.x86_64.rpm
mysql-community-client-debuginfo-8.0.31-1.el8.x86_64.rpm
mysql-community-client-plugins-8.0.31-1.el8.x86_64.rpm
mysql-community-client-plugins-debuginfo-8.0.31-1.el8.x86_64.rpm
mysql-community-common-8.0.31-1.el8.x86_64.rpm
mysql-community-debuginfo-8.0.31-1.el8.x86_64.rpm
mysql-community-debugsource-8.0.31-1.el8.x86_64.rpm
mysql-community-devel-8.0.31-1.el8.x86_64.rpm
mysql-community-icu-data-files-8.0.31-1.el8.x86_64.rpm
mysql-community-libs-8.0.31-1.el8.x86_64.rpm
mysql-community-libs-debuginfo-8.0.31-1.el8.x86_64.rpm
mysql-community-server-8.0.31-1.el8.x86_64.rpm
mysql-community-server-debug-8.0.31-1.el8.x86_64.rpm
mysql-community-server-debug-debuginfo-8.0.31-1.el8.x86_64.rpm
mysql-community-server-debuginfo-8.0.31-1.el8.x86_64.rpm
mysql-community-test-8.0.31-1.el8.x86_64.rpm
mysql-community-test-debuginfo-8.0.31-1.el8.x86_64.rpm

方法一, 修改mysql 8.0 root 密码

1、centos8.2环境下,按顺序如下安装mysql文件包

[root@centos82-scts08t opt]# more setup.sh

#/bin/bash
rpm -ivh /opt/mysql-community-client-plugins-8.0.31-1.el8.x86_64.rpm
rpm -ivh /opt/mysql-community-common-8.0.31-1.el8.x86_64.rpm
rpm -ivh /opt/mysql-community-libs-8.0.31-1.el8.x86_64.rpm
rpm -ivh /opt/mysql-community-client-8.0.31-1.el8.x86_64.rpm
rpm -ivh /opt/mysql-community-icu-data-files-8.0.31-1.el8.x86_64.rpm
rpm -ivh /opt/mysql-community-server-8.0.31-1.el8.x86_64.rpm
tar -zxvf /opt/apache-tomcat-10.0.27.tar.gz -C /opt
tar -zxvf /opt/nginx-1.23.2.tar.gz -C /opt
unzip /opt/phpMyAdmin-5.2.0-all-languages.zip -d /opt
systemctl stop firewalld.service
systemctl disable firewalld.service

2、安装后检查mysql清单

[root@centos82-scts08t opt]# rpm -qa |grep mysql
mysql-community-client-8.0.31-1.el8.x86_64
mysql-community-client-plugins-8.0.31-1.el8.x86_64
mysql-community-icu-data-files-8.0.31-1.el8.x86_64
mysql-community-common-8.0.31-1.el8.x86_64
mysql-community-server-8.0.31-1.el8.x86_64
mysql-community-libs-8.0.31-1.el8.x86_64

3、重启mysql server

[root@centos82-scts08t ~]# systemctl restart mysqld.service

4、查找密码,新版本密码方式改变了,shit mysql installation,fuck Larry Ellison

[root@centos82-scts08t ~]# grep password /var/log/mysqld.log

2022-11-01T11:46:27.017354Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ar=vW0cgAyu_

5、[root@centos82-scts08t ~]# mysql -uroot -p密码 -hlocalhost

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

意思首先得强制改密码,还得复杂,草泥马。

mysql> alter user user() identified by " caonima ";
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql> alter user user() identified by " ar=vW0cgAyu_8888 ";

6、设置允许远程连接MySQL 8,并立即生效

mysql> use mysql;

mysql> update mysql.user set host='%' where user='root';

mysql> flush privileges;
7、

方法二, 修改mysql 8.0 root 密码

1、centos8.2环境下,按顺序如下安装mysql文件包(同上)

2、 mysql 8.0.26 修改/etc/my.cnf文件,加入skip-grant-tables后重启mysql

[root@centos82-scts08t ~]# echo "skip-grant-tables"  >> /etc/my.cnf

3、mysql重启

[root@centos82-scts08t ~]# systemctl restart mysqld.service

4、mysql无密码进入,直接回车

[root@centos82-scts08t ~]# mysql -uroot -p -h127.0.0.1

RROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1:3306'

[root@centos82-scts08t ~]# mysql

5、mysql修改密码,https://download.csdn.net/download/weixin_38501206/12824626

mysql> select host,user,authentication_string,plugin from user;       --查询root的authentication_string密码

mysql> update user set authentication_string='' where user='root';  -- 先强制置空这个B养的加密密码

mysql> select host,user,authentication_string,plugin from user;

6、然后注释/etc/my.cnf 中 skip-grant-tables行

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#skip-grant-tables

7、再重启mysql进入修改成新root密码。

[root@centos85 ~]# systemctl restart mysqld.service

8、再无密码进入修改密码,至少8位数,又是他妈的烦神。

mysql> alter user user() identified by "caonima.com";

mysql> alter user 'root' identified by "caonima.com";

mysql> flush privileges;

9、创建远程用户,再授权

mysql> create user 'root'@'%' identified by '密码';
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
mysql> flush privileges;

10、检查ok,远程连接验证ok。

mysql> select User,Host from user;

centos8.5 部署nginx 1.14.1 + php环境配置

1、安装nginx

[root@scts08t ~]# yum install -y nginx.x86_64

[root@scts08t ~]# nginx -v
nginx version: nginx/1.14.1

2、安装php相关环境

[root@scts08t ~]# yum install php php-fpm php-json php-mysqlnd  php-mbstring.x86_64 -y

[root@scts08t ~]#  /usr/sbin/php-fpm -t   #检测/etc/php-fpm.conf 配置文件

3、配置nginx

[root@scts08t ~]# vim /etc/nginx/nginx.conf  #配置nginx + php结合

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
    worker_connections 1024;
http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log          /var/log/nginx/access.log  main;
    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
    include             /etc/nginx/conf.d/php-fpm-upstream.conf; #自定义文件并新增内容,见下面文件,文件位必须放这里
    #include       /etc/nginx/conf.d/php-fpm.conf
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /opt/phpmyadmin;
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/php-location.conf; #自定义文件并新增内容,见下面文件,文件位必须放这里
        location / {
        #index index.html index.php;
        error_page 404 /404.html;
            location = /40x.html {
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {

[root@scts08t ~]# vim /etc/nginx/conf.d/php-fpm-upstream.conf  #配置PHP-FPM Server

[root@scts08t ~]# vim /etc/nginx/conf.d/php-fpm.conf  #配置PHP-FPM Server

# PHP-FPM FastCGI server
# network or unix domain socket configuration
upstream php-fpm {
        server unix:/run/php-fpm/www.sock;

[root@scts08t ~]# vim /etc/nginx/default.d/php-location.conf  #配置php环境解析

location ~ \.php$ {
        root           /opt/phpmyadmin;
        include        fastcgi_params;
        fastcgi_pass   php-fpm; #关联/etc/nginx/conf.d/php-fpm-upstream.conf调度,或php-fpm.conf
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #fastcgi_param SCRIPT_FILENAME  /scripts$fastcgi_script_name;

centos8.5 部署phpmyadmin 5.12

1、下载文件

[root@scts08t ~]# wget -c https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip -P /opt

2、释放目录

[root@scts08t ~]# unzip -t /opt/phpMyAdmin-5.2.0-all-languages.zip

[root@scts08t ~]# unzip /opt/phpMyAdmin-5.2.0-all-languages.zip -d /opt/phpmyadmin

查看nginx、php-fpm进程并查看log

[root@centos82-scts08t ~]#   ps -ef |grep nginx; ps -ef |grep php;tail -f /var/log/nginx/*.log;tail -f /var/log/php-fpm/error.log 

 temp nginx.conf