最初安装typecho只是为了搞生活小站,体验了其后台功能之后果断选择使用typecho。后台真的香。一路上安装及其配置过程中也遇到不少坑,在此记录一下,以便日后查阅。
安装lnmp环境
运行typecho的环境:nginx mysql php下面记录其安装及配置过程。
- lnmp的运行原理:
配置额外的yum源地址
安装nginx mysql php过程中需要配置额外的yum源地址,包括epel-release和webtatic,否则会报错不能找到相关软件包。你可以选择以下两种中的任一种安装。
rpm -Uvh https://dl.Fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
或
yum install epel-release -y
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安装nginx
通过直接添加官方源后 yum 方式安装nginx。添加nginx源文件配置 /etc/yum.repos.d/nginx.repo,编辑添加以下内容
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
nginx官方源地址
yum list |grep nginx
查询下配置源是否成功
然后安装 nginx执行:
yum -y install nginx
nginx启动并加入自启动:
systemctl start nginx
systemctl enable nginx
安装mysql(MariaDB)
CentOS7 官方源中把 mysql 换成了 MariaDB,
因此我们这里以 MariaDB 代替 Mysql,首先执行安装:
yum install mariadb-server
安装完成后启动 MariaDB 并设置为开机启动:
systemctl start mariadb
systemctl enable mariadb
执行脚本通过交互的方式对 MariaDB 进行一些设置:
/usr/bin/mysql_secure_installation
全默认即可
安装php72w
yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
安装完成以后,启动服务并加入自启动
systemctl start php-fpm.service
systemctl enable php-fpm.service
若以前安装过其他版本的php可用以下命令清除
yum -y remove php*
php配置的一些安全设置
修改这个配置文件/etc/php.ini
修改php默认配置:
cgi.fix_pathinfo=1 #这个不改后面typecho会有问题提前修改
upload_max_filesize = 600M;
post_max_size = 600M;
max_execution_time=600;
这几项都在php.ini里你可以选择使用vi修改,我自己一般都是用winscp修改
修改php-fpm配置
修改这个配置文件/etc/php-fpm.d/www.conf
同样先展示下需要修改的列表清单:
listen= /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
user = nginx
group = nginx
pm = dynamic 生成动态进程
pm.max_children = 10 最大可以启动多少进程
pm.start_servers = 5 初始启动多少进程(默认数值推荐为最小备用+(最大备用-最小备用)/2)
pm.min_spare_servers = 2 最少备用的进程数
pm.max_spare_servers = 10 最大备用的进程数
pm.max_requests = 500 到达多少请求后自动结束进程
rlimit_files = 1024 一次请求的最大字节数
最后将php-fpm并加入自启动
systemctl enable php-fpm
重启nginx和php-fpm:
systemctl restart php-fpm
systemctl restart nginx
配置网站数据库
设置一个typecho的数据库
mysql -u root -p
进入mysql后,素质三连:
CREATE DATABASE typecho;
CREATE USER admin@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON typecho.* TO admin@localhost IDENTIFIED BY 'password';
创一个叫typecho的数据库,随你喜好取名,取个专用管理用户名admin,自己改成喜欢的,
弄个密码,自己设置,改下password,千万别直接抄上面的。
注意数据库指令后面的分号。
最后刷新下这些改变和权限:
FLUSH PRIVILEGES;
配置nginx.conf
在/etc/nginx/nginx.conf中新增
server {
listen 80;
location / {
server_name blog.hesifan.top;#你自己的域名
root /home/typecho;#根目录位置
index index.html index.php ;
}
location = /50x.html {
root html;
}
location ~.*\.php(\/.*)*$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
include fastcgi_params;
}
}
location ~..php(/.)*$这一行之前害我很久留个记号,拿个小本本记下他的罪行 。
记得每次改完nginx.conf都要重启nginx
安装typecho
直接wget安装,快捷一点:
cd /home/typecho #自己创建的,你也可以自己在其他位置创建
wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gz
解压
tar -xzvf 1.1-17.10.30-release.tar.gz
cp -R build/* ./
清理掉不需要的文件夹
rm -rf build/
访问nginx.conf中的域名访问就能出现图形界面了,有图形界面就很简单了,不在赘叙。有一个让你手动创建文件的步骤创建一下就好了。
安装ssl证书
nginx.conf上一个server配置中添加如下内容
listen 443 ssl;
ssl_certificate /etc/nginx/cert/1_blog.hesifan.top_bundle.crt;
ssl_certificate_key /etc/nginx/cert/2_blog.hesifan.top.key;
同时在typecho根目录下config.inc.php中添加
/** 开启HTTPS */
define('__TYPECHO_SECURE__',true);