Powered by md-Blog  文 - 篇  访客 -

Manjaro、Arch搭建lnmp环境Linux+Nginx+MariaDB+PHP虚拟主机数据库编码配置详情


  分类:Linux服务器  / 
更新:2020-01-01 13:47:07  /  创建:2020-01-01 13:47:07
不要删除
参考文献:

https://www.linuxdashen.com/install-lemp-nginx-mariadb-php7-arch-linux-server

https://phpcj.org/archlinux-install-nginx-mariadb-php-fpm/

https://www.jianshu.com/p/a2125f95b7db

0、说明

由于不可抗力等因素,MySQLMariaDB 取代。

yay 包管理工具示例,您可以替换为 pacman 或者 yaourt

1、安装

yay -S nginx php-fpm mariadb

2、配置

配置 MariaDB 数据库

mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

配置MySQL root密码,一路y下去即可。

sudo mysql_secure_installation

配置 MySQL utf8mb4 字符集

sudo vim /etc/my.cnf

末尾追加:

[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server=utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

配置 Nginx 支持 PHP

/etc/nginx/nginx.conf
location / {
    root   /usr/share/nginx/html;
    index  index.php index.html index.htm;
}

location ~ \.php$ {
    fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
    include        fastcgi_params;
}

3、检验

sudo php-fpm -t  #查看 PHP 配置是否正确
sudo nginx -t #查看 nginx 配置是否正确

4、启动

sudo systemctl restart php-fpm
sudo systemctl restart nginx
sudo systemctl restart mysqld

5、配置开机启动

sudo systemctl enable nginx
sudo systemctl enable mysqld
sudo systemctl enable php-fpm

6、测试

MySQL数据库字符集 utf8mb4 测试

mysql>show variables like "%character%";show variables like "%collation%";

输出:utf8mb4 的表即为成功,如果是 latin1,则配置有误。

Nginx+PHP 环境测试

sudo vim /usr/share/nginx/html/index.php

输入:

<?php
    phpinfo();
>

网页打开:http://127.0.0.1http://localhost

如果出现 PHPinfo 页面则安装成功。

7、卸载

yay -Rs nginx php-fpm mariadb

数据库创建实例

CREATE TABLE 'table' (
    'id' int NOT NULL auto_increment,
    'name' varchar(50) NOT NULL,
    primary key('id')
) ENGINE=InnoDB CHARSET=utf8mb4 AUTO_INCREMENT=1;

虚拟主机创建实例

sudo vim /etc/nginx/nginx.conf

在 html 中添加:

include /etc/nginx/conf.d/*.conf;

新建 conf.d 文件夹

sudo mkdir /etc/nginx/conf.d

进入 conf.d 文件夹

cd /etc/nginx/conf.d

创建虚拟主机 abc.conf

sudo vim abc.conf

参考以下片段:

server {
    listen       8001;
    server_name  abc.cc;

    location / {
        root   /usr/share/nginx/html/abc;
        index  index.php index.html index.htm;
    }

    error_page  404              /404.html;
    
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html/abc$fastcgi_script_name;
        include        fastcgi_params;
    }
}

不要删除

小站不易,感谢支持!