配置环境

安装基础环境

笔者选择的环境为LNMP,即为Linux+Nginx++Mysql+PHP环境。Linux选择Ubuntu16.04版本,采用root账号登陆。
首先安装所需要用到的工具

# apt install nginx
# apt install mysql-server
# apt install php

安装mysql时,会有几个配置选项让你确认。因为笔者的环境为新环境,没有任何以前的mysql库,所以一路执行ok,mysql会自动分配root与root密码为mysql的账号与密码
安装完所需要的软件之后,笔者的软件环境为

# nginx -v
nginx version: nginx/1.10.3 (Ubuntu)


# mysql -u root -p
//root为创建数据库时的账号,采用账号登录之后,需要输入密码进入库
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 328
Server version: 5.7.21-0ubuntu0.16.04.1 (Ubuntu)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

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
mysql> exit
Bye


# php -v
PHP 7.0.28-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.28-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies

分析环境依赖

分析Nginx与PHP环境

因为Nginx原生只支持HTML,不支持typecho的PHP代码。所以需要php-fpm模块来作为中间件使Nginx支持PHP

Nginx+Php-fpm运行原理详解

因为笔者的基础环境为PHP 7.0.28,自带了cli模块,所以现在需要安装php-fpm模块

# apt install php7.0-fpm

分析typecho所需要的环境

typecho官方文档

其中提到所需要的环境,还需要 1.CURL或者Socket扩展支持 2.mbstring或者iconv扩展支持
安装扩展支持:

# apt install php7.0-curl
# apt install php7.0-mbstring

根据官方文档,typecho是不支持php7的,所以需要php-pdo-mysql中间件来支持php连接mysql

# apt install php7.0-mysql 

修改环境配置文件

因为安装的环境全部都是初始的,默认的环境,现在需要修改各环境的配置文件

修改Nginx的配置文件

typecho需要Nginx需要实现伪静态化

# vim /etc/nginx/nginx.conf

找到server配置段,修改为

server {
    listen          80;
    //网站域名,若没有域名可使用127.0.0.1实现IP段访问
    server_name     yourdomain.com;
    //typecho根目录
    root            /www/;
    index           index.html index.htm index.php;
 
    if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php$1 last;
    }
 
    location ~ .*\.php(\/.*)*$ {
        include fastcgi.conf;
        //默认转发端口9000
        fastcgi_pass  127.0.0.1:9000;
    }
}

修改php以及php-fpm模块的配置文件

启用curl,mbstring,php-pdo-mysql模块支持

# vim /etc/php/7.0/fpm/php.ini

//按pageDown一直下翻页,找到
;extension=php_curl.dll
;extension=php_mbstring.dll
;extension=php_pdo_mysql.dll

//去掉;开启模块

extension=php_curl.dll
extension=php_mbstring.dll
extension=php_pdo_mysql.dll

修改php-fpm模块配置文件,使其能够与Nginx正常连接

# vim /etc/php/7.0/fpm/pool.d/www.conf
//找到listen字段,修改监听地址修改为Nginx配置文件中的地址。上一步配置的地址为127.0.0.1:9000
listen = 127.0.0.1:9000

修改mysql配置文件

取消绑定IP,修改全外网IP访问

# vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到

bind-address  = 127.0.0.1

修改为

#bind-address           = 127.0.0.1

建立博客的mysql环境

使用root账号登陆mysql库

# mysql -u root -p
Enter password: 

新建typecho库

mysql> create database typecho;

查看新建的库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| typecho            |
+--------------------+
5 rows in set (0.07 sec)

观察其中typecho库建立成功

赋予root用户针对数据库的全部权限,并刷新使之生效

mysql> grant all privileges on *.* to root@"%" identified by "root用户密码" with grant option; 
mysql> flush privileges;

授予博客访问权限

授予typecho对文件夹的读写权限

# chmod 777 /www/
# chmod 777 /www/usr/

重启服务

# /etc/init.d/nginx restart
[ ok ] Restarting nginx (via systemctl): nginx.service.
# /etc/init.d/php7.0-fpm restart
[ ok ] Restarting php7.0-fpm (via systemctl): php7.0-fpm.service.
# /etc/init.d/mysql restart
[ ok ] Restarting mysql (via systemctl): mysql.service.

体验博客

现在输入IP地址,建立博客,愉快的开始体验博客吧

Last modification:September 4, 2019
If you think my article is useful to you, please feel free to appreciate