系统:debian10
安装:nginx、MariaDB、PHP
1. 安装nginx
apt update
apt install nginx
2. 安装数据库
apt install mariadb-server
3. 初始化mariadb
mysql_secure_installation
按提示操作即可
4. 安装php
首先检验apt-transport-https
lsb-release
ca-certificates
是否安装,未安装就安装
然后安装php源的信任秘钥
wget -o /etc/apt/trusted.gpg/php/gpg https://package.sury.org/php/apt.gpg
添加源
'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
更新
apt update
在使用apt install php
时会默认安装apache2及相关依赖,既然不需要apache,那就不使用apt install php
,只安装需要的扩展即可。以5.6版本为例:
apt install php5.6-fpm php5.6-mysql php-5.6-commom php5.6-gd php5.6-json php5.6-cli php5.6-curl
5. 检查nginx、php-fpm、mariadb是否启动
server 服务 status
6. 环境配置
nginx配置文件:/etc/nginx/nginx.conf
/etc/nginx/sites-enabled/default
php网站根目录:/var/www/html/
以安装typecho为例:
-
解压文件至php网站根目录
-
修改MariaDB数据库root用户的认证方式为"mysql_native_password"
root用户的默认认证方式为'unix_socket',这种认证方式在命令行环境登陆mariadb无需密码,但是无法远程连接
建议为网站程序新建数据库用户,而不是修改root用户 这里修改root用户是做个笔记,也是图方便mriadb update mysql.user set plugin='mysql_native_password' where user='root'; \q
-
安装typecho即可
-
typecho 安装后内页404解决方案
官方解决方案:http://docs.typecho.org/faq
主要是nginx的网站配置:
将location ~ .*\.php$
改为location ~ .*\.php(\/.*)*$
即可解决
7. 重新安装nginx
- 卸载
apt remove --purge nginx apt auto remove
- 筛选nginx相关的已安装软件
dpkg --get-selections |grep nginx
- 卸载它们,如:
apt remove --purge nginx-common
- 重新安装
apt install nginx
8. 完全卸载MariaDB
9. 安装MySQL
10. nginx重启出现nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
错误
原因:
因为 nginx 启动需要一点点时间,而 systemd 在 nginx 完成启动前就去读取 pid file 造成读取 pid 失败
解决办法:
让 systemd 在执行 ExecStart 的指令后等待一点点时间即可 如果你的 nginx 启动需要时间更长,可以把 sleep 时间改长一点
相关命令:
mkdir /etc/systemd/system/nginx.service.d
printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" > /etc/systemd/system/nginx.service.d/override.conf
systemctl daemon-reload
systemctl restart nginx
网友评论