Powered by md-Blog  文 - 篇  访客 -

Ubuntu系搭建lnmp环境,完全安装教程Linux+Nginx+MySQL+PHP虚拟主机数据库编码配置详情


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

1、安装

sudo apt install mysql-server     #安装 MySQL
sudo apt-add-repository ppa:nginx/stable     #添加 nginx 源
sudo apt-add-repository ppa:ondrej/php     #添加 PHP 源
sudo apt update     #更新
sudo apt install nginx      #安装 nginx
sudo apt install php7.0-fpm     #安装 PHP-fpm 服务

2、配置

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

sudo mysql_secure_installation

配置 MySQL utf8mb4 字符集

sudo vim /etc/mysql/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'

配置 PHP 联通方式

sudo vim /etc/php/7.0/fpm/pool.d/www.conf       #默认无需改动

nginxfastcgi通信有2种方式,一种是TCP方式,还有种是UNIX Socket方式

#默认是socket方式
listen = /run/php/php7.0-fpm.sock

#TCP方式  #listen = 127.0.0.1:9000

配置 nginx 支持 PHP

sudo vim /etc/nginx/sites-enabled/default

添加 index.php,并解开下方的注释(解开对应的一种即可):

root /var/www/html;
 
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
 
#找到  location ~ \.php$  { 修改里面
#socket 方式 必须和上面socket的listen路径一样
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
#TCP方式 #fastcgi_pass 127.0.0.1:9000;

3、检验

sudo php-fpm7.0 -t  #查看 PHP 配置是否正确
sudo nginx -t #查看 nginx 配置是否正确

4、启动

sudo /etc/init.d/php7.0-fpm restart
sudo service nginx restart
sudo systemctl restart mysql

5、测试

MySQL数据库字符集 utf8mb4 测试

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

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

Nginx+PHP 环境测试

sudo vim /var/www/html/index.php

输入:

<?php
    phpinfo();
>

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

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

6、扩展

sudo apt install php-mysql php-curl php7.0-mcrypt php-gd php-memcached php-redis php-mbstring

7、卸载

卸载 Nginx

sudo apt-get remove nginx-*
sudo apt-get purge nginx-*
# 删除旧文件目录
sudo find /etc -name "*nginx*" |xargs  rm -rf

卸载 PHP

sudo apt-get --purge remove php7.0*
(或者 sudo apt-get --purge remove php5* libapache2-mod-php5)
sudo apt-get autoremove php7.0*(php5)

卸载 MySQL

sudo apt-get --purge remove mysql*
sudo apt-get autoremove mysql*
## 最后清理残留文件:
dpkg -l |grep ^rc|awk ’{print $2}’ |sudo xargs dpkg -P

数据库创建实例

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

Nginx 创建虚拟主机实例

文件:/etc/nginx/conf.d/虚拟主机名.conf
server {
    listen       8001;
    server_name  虚拟主机名.cc;

    root /路径/虚拟主机名;

    index index.php index.html index.htm index.nginx-debian.html;

    location / {
    try_files $uri $uri/ =404;
    }

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    }
}

不要删除

小站不易,感谢支持!