yande.re 234928 crease fixme frill_frill loli morinaga_korune nopan open_shirt.jpg
此为自己通过centos7系统搭建typecho博客的心得分享,全文目前6部分,这是第三节
点此参看下一节:


typecho安装


视频分享地址:


两种方式,直接wget解压拷贝,
或者通过之前设置的ftp 用户steamoe上传到vps,这种方式看你连国外服务器网络,
线路不好的,有的时候会很慢,我们选择vps上直接wget安装,稳妥快捷一点:

cd /home/wwwroot/steamoe.com
wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gz

ls看看
1.1-17.10.30-release.tar.gz text

tar -xzvf 1.1-17.10.30-release.tar.gz

x指extract提取出来
z解压含有gzip属性的文档
v可视化过程view
f指解压后文件夹以filename命名
ls一下,发现解压好了,生成一个新的build文件夹,里面就是安装目录了
我们拷贝到咱们需要建设的网站根目录下来

cp -R build/* ./

Recursive 英[rɪˈkɜ:sɪv]递归传输build文件夹下所有内容,到当前目录 ./指当前目录 ../指上级目录。
如果你不习惯,或者没注意自己目前位置,可以用绝对路径

cp -R /home/wwwroot/steamoe.com/build/*  /home/wwwroot/steamoe.com/

清理掉不需要的文件夹

rm -rf build/

同样的,新手慎用这个 rm -rf,小心删库跑路,你可以直接ftp删对应文件夹。
然后就是配置nginx默认网站路径到咱们自己设置的文件路径了,
这之前我们可以设置一个typecho的数据库,下面是数据库的基本使用指令:

mysql -u root -p

输入安装lnmp时候你的root用户密码,如果之前留空,这里密码默认是root。
进入mysql后,素质三连:

CREATE DATABASE typecho_steamoe;
CREATE USER steamoe_admin@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON typecho_steamoe.* TO steamoe_admin@localhost IDENTIFIED BY 'password';

创一个叫typecho_steamoe的数据库,随你喜好取名,取个专用管理用户名steamoe_admin,自己改成喜欢的,
弄个密码,自己设置,改下password,别太傻了直接抄。
最后刷新下这些改变和权限:

FLUSH PRIVILEGES;

修改用户密码:必须使用一个数据库

use typecho_steamoe;

update mysql.user set password=PASSWORD('new_password_here') where User='steamoe_admin';

'new_password_here'这里我设置的10位带字符的密码,自己改下单引号里面的密码
刷新下权限

FLUSH PRIVILEGES;
exit;

添加新站点配置:

find / -name nginx.conf

找到
查看配置

cat /etc/nginx/nginx.conf

里面是否包括下面这行,一般是有的,如果没有,则加上

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

然后在 /etc/nginx/conf.d/目录下,创建对应域名网站的配置文件,根据默认文件修改获得。

touch /etc/nginx/conf.d/steamoe.com.conf

设置站点配置文件

复制以下设置:

server {
    listen 80;
    server_name steamoe.com;
    listen  [::]:80 default_server;#ipv6的放着无所谓,也可以注释掉
    root /home/wwwroot/steamoe.com;#改路径
    index index.html index.htm index.php;
    #charset koi8-r;
    access_log  /var/log/nginx/steamoe.com.access.log  main;#记住自己的log文件目录,也可自己设置

    location / { 
  index index.html index.php; 
  if (-f $request_filename/index.html) { 
    rewrite (.*) $1/index.html break; 
  } 
  if (-f $request_filename/index.php) { 
    rewrite (.*) $1/index.php; 
  } 
  if (!-f $request_filename) { 
    rewrite (.*) /index.php; 
  } 
}
    error_page  404                 /404.html;
    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
    root   /usr/share/nginx/html;
                          }
                          


     #不使用php内置解析,采用nginx正则解析pathinfo配置方案1

        #配置方案1 使用nginx模块fastcgi_split_path_info(nginx版本>0.7.31)
    location ~ \.php {
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        #先加载默认后解析赋值
        include        fastcgi_params;
        #正则解析路径
        fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
        fastcgi_param  PATH_INFO        $fastcgi_path_info;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    }

#作者:红尘码农
#来源:CSDN
#原文:https://blog.csdn.net/gxdvip/article/details/52313836?utm_source=copy



 location ~ /.ht {
        deny all;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires 15d;
    }
    location ~ .*\.(js|css)?$
    {
        expires 1d;
    }
}

#不使用php内置解析,采用nginx正则解析pathinfo配置方案2
#由于nginx内建只读变量$fastcgi_script_name无法赋值,所有通过设置$real_script_name变量来做中间值   
    location ~ \.php {
        try_files $uri =404;
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
#先加载默认后解析赋值 
        include fastcgi_params;
#正则解析路径

        set $path_info "";
        set $real_script_name $fastcgi_script_name;
        if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$"){
                set $real_script_name $1;
                set $path_info $2;
        }
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_NAME $real_script_name;
        fastcgi_param PATH_INFO $path_info;
        }

fastcgi解析方案自己随意选择一个即可。
vi编辑:
gg回到页首,输入 :.,$d回车,清空文件

nginx -s reload

也是重新加载nginx的指令
我们后台的配置差不多就完成了

网站域名解析设置


上面的配置完成后,去自己的域名服务商设置两条A解析
一个@头,ip填你的vps给的ip
一个www头,ip同上
等个2-10分钟,记录更新了就可以浏览器输入
steamoe.com/访问
如果不能访问,关闭你的SELinux:

setenforce 0

现在就是图形化安装界面了,很简单的
修改项:
数据库默认地址localhost换成内网地址
127.0.0.1
如果你安装的是php7.0以上,请将数据库引擎改为Pdo_Mysql,其他和低版本php没区别
数据库用户名,改成刚才设置的
steamoe_admin
数据库密码,为自己设置的10位密码
数据库名,刚才设置的:
typecho_steamoe

填好你的typecho后台管理员信息,提交即可
///如果出现无法创建config.inc.php文件,是因为/home/wwwroot/steamoe文件夹owner属性权限没改,可以直接用

chown -R nginx:nginx /home/wwwroot/steamoe.com

///
改过来,这里,我们在ssh里直接复制创建新的网站配置文件:

vi config.inc.php

查看下typecho网站配置文件位置

我们当前应该还在 /home/wwwroot/steamoe.com目录下,不在的话,

cd /home/wwwroot/steamoe/ 
vi config.inc.php

粘贴内容
保存
设置完毕后,应该就ok了
发个帖子上个图片看看,如果无法上传图片,那就改下用户组,然后就可以了

一些小的设置
修改上传图片大小限制

find / -name php.ini
vi /etc/php.ini

修改以下三项:

upload_max_filesize = 1000M;
post_max_size = 1000M;
max_execution_time=600;
systemctl restart php-fpm

nginx咱们站点配置里加一条,可以在server location http任何一个框里加入:

client_max_body_size 888m

无法上传附件,应该是用户组问题,我们现在改下用户组

chown -R nginx:nginx /home/wwwroot/steamoe.com

因为之前修改的listen监听用户和用户组是nginx:nignx
把网站所有文件改成nginx用户和nginx用户组,现在应该就可以了
如果你是军哥一键lnmp搭 wordpress,应该改成www:www

至此,普通搭建就完毕了,下一节我们说下如何申请证书,弄个https玩:)
点此参看下一节:

Last modification:November 18, 2020
If you think my article is useful to you, please feel free to appreciate