关注互联网应用及运维技术的个人博客

Ubuntu18手动安装nginx+typecho

手动安装配置lnmp+typecho

这两天寻思着弄一个动态网站作为个人日常的博客,又不太想用 word­press 这过于 “重量级” 的 cms,想起了以前也用过的 type­cho,但是安装过程中遇见了一些困难,发现现在网上极其缺少手动安装 type­cho 的教程,不是过时的教程就是宝塔一键脚本一起上… 所以我还是分享一下我是如何安装 type­cho 的吧。

安装lnmp

我们首先准备 type­cho 的环境,lnmp 即 (linux + ng­inx + mysql + php)。我使用的系统是 Ubuntu 1804,所有 De­bian 系的系统操作应该都类似,其他系的系统需要修改一下指令。

安装php

sudo apt install php-fpm php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-ldap php-zip php-curl

如果要修改 php 的配置如上传文件限制内存上限等等,编辑 sudo nano /etc/php/7.2/fpm/php.ini 文件即可。

nginx安装并配置php/https

apt install nginx

配置https

安装好 ng­inx 后,我们编辑站点配置文件,把里面的 serv­er_­name 的 ex­am­ple.com 修改成你自己的域名 (当然域名要设置好 A 记录解析到当前服务器上)

nano /etc/nginx/sites-available/default

然后使用 cert­bot 自动申请配置 ssl 证书,采取 cert­bot 的教程 (官方有各个发行版的详细教程)。

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot python-certbot-nginx
sudo certbot --nginx

运行 cert­bot 后,会先要求你输入邮箱,如果之前对站点配置文件没配置错的话,那应该就能看见你的域名,选择该域名,cert­bot 便会自动申请配置证书,最后还会选择是否要把 http 重定向为 https,选择 redi­rect 即可。完成之后再访问你的域名,理论上能以 https 的方式访问到 ng­inx 的默认 in­dex.html。

配置php

同样编辑站点配置文件 /etc/nginx/sites-available/default ,在 server 的大括号中添加如下内容。

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass             unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

之后重启一下 ng­inx, 在 /var/www/html 目录下创建一个 info.php 文件,写入

<?php
   phpinfo();
?>

再访问你的域名 /info.php,如果显示如下就配置成功了。

info.php

安装配置mysql

type­cho 其实还支持 sqlite,直接安装 php 的 sqlite 扩展以及 sqlite3 就可以使用了,但是由于我使用的插件在使用 sqlite 时会出错,所以我还是改用了 mysql。

sudo apt install mysql

接着我们需要创建 type­cho 的用户以及相应的数据库并赋权。

mysql -u root -p
CREATE DATABASE typecho;
CREATE USER 'typecho'@'localhost' IDENTIFIED BY '123456';
GRANT ALL ON typecho.* TO 'typecho'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
EXIT;

安装Typecho

之前的步骤做完后我们已经准备好了 lnmp 环境了,接着就是安装 type­cho。

前往 Type­cho 的网站获取下载链接。

# 在/var/www/html 里面执行
wget https://typecho.org/downloads/1.1-17.10.30-release.tar.gz
tar -zxvf 1.1-17.10.30-release.tar.gz
mv build typecho
chown -R www-data:www-data
chmod -R 755 typecho

另外还建议修改 /etc/nginx/sites-available/default 将站点根目录修改为 /var/www/html/​type­cho 并重启一下 ng­inx。

之后访问 https://yourdomain/install.php (如果没改根目录的话就是 /type­cho/​in­stall.php)

配置时,数据库名字,用户名,密码都改成之前创建数据库时使用的参数就好,如果没有什么其他的问题,完成几步操作之后便安装成功了。

伪静态设置

默认的 type­cho 网页链接中总带着一个 in­dex.php,那么有没有办法把这个链接美化一下呢?我们需要开启 type­cho 的伪静态。首先编辑 ng­inx 的站点文件,在 server 大括号中加入

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;
}

并前往 type­cho 控制面板的设置 / 永久链接中打开启用地址重写功能 (可能会提示不可用,还是选择应用即可) 然后重启一下 ng­inx。再看,in­dex.php 已经没了。

CDN保留真实ip

在 Type­cho 站点根目录里的 con­fig.inc.php 添加如下内容.

if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
    $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
    $_SERVER['REMOTE_ADDR'] = $list[0];
 }
赞(0)
未经允许不得转载:飞天狒狒 » Ubuntu18手动安装nginx+typecho

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址