本文目录
- 一、基于Linux安装php8
- 二、Linux线上连接数据库问题
- 三、关于线上nginx报错问题
一、基于Linux安装php8
首先登录ubuntu系统后运行命令:sudo apt update
更新完之后,安装我们需要的软件:
sudo apt install nginx
安装 mysql。运行命令sudo apt install mysql-server
添加PHP的PPA(个人软件包存档),因为PHP 8.2可能还不在默认的存储库中:
运行命令:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
安装PHP 8.2及其常用的模块:
sudo apt install php8.2 php8.2-cli php8.2-common php8.2-fpm php8.2-opcache php8.2-mysql php8.2-mbstring php8.2-xml php8.2-gd php8.2-curl
二、Linux线上连接数据库问题
刚装完mysql后navicat连接数据库报错
SQLSTATE[HY000] [2002] Connection refused
修改MySQL配置文件sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf,注释掉bind-address这一行,或者将其值设置为0.0.0.0
修改后保存文件并重启MySQL服务:
sudo systemctl restart mysql
后如果又报错
1130 - Host '110.87.110.15' is not allowed to connect to this MySQL server
这个错误表示客户端主机 110.87.110.15'试图连接到MySQL服务器,但是这个主机没有被授权访问服务器。这通常是因为MySQL的用户权限设置导致的。
表示这个用户只能本地窗口连接,没有开放远程连接权限。
首先我们本地登录mysql:

然后use mysql进入到mysql这个库:

查看user表中的数据:select Host, User from user;

可以看到都是localhost本地连接,所以我们要改变用户可以远程连接的权限
update user set Host=‘%’ where User=‘debian-sys-maint’;

然后flush privileges;最后刷新一下

重新启动sudo service mysqld restart
这下重新去测试下:

可以看到已经连接上了。
三、关于线上nginx报错问题
如果nginx刚配置完报错502的话,那么运行命令:sudo cat /var/log/nginx/error.log 可以查看报错日志。
项目部署线上后出现mkdir(): Permission denied,那么考虑由于一般情况自动生成的目录为 runtime,那么开放runtime权限给用户即可。那首先我们得知道有哪些用户。运行命令:ps aux|grep nginx 查看nginx用户:

运行命令:chown -R www-data(用户名) runtime(你的runtime路径)然后在sudo service nginx restart。
在学习的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。



















