切换为 root 用户

我们之后要进行大量 root 权限操作,提前切换用户会方便一些。

1
sudo su

查看当前系统的版本信息

1
lsb_release -a

更新 apt 包源

备份默认的源

1
cp /etc/apt/sources.list /etc/apt/sources.list.bak

修改为国内的阿里云镜像源

1
sed -i "s/archive.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list

删除#开头的注释行

1
sed -i '/^#/d' /etc/apt/sources.list

添加 PHP 源

1
2
apt install lsb-release ca-certificates apt-transport-https -y
add-apt-repository ppa:ondrej/php

更新 apt 源

1
apt update

MySQL 8.0

Ubuntu 20.04 已包含 mysql8.0的安装包,直接 apt 安装就好

1
apt-get install mysql-server

MySQL服务管理

  • 查看服务状态
1
service mysql status
  • 启动服务
1
service mysql start
  • 停止服务
1
service mysql stop
  • 重启服务
1
service mysql restart

登录MySQL

“我的 MySQL 初始账号和密码是什么?”

关于这个问题每个系统上的每代 MySQL 都有自己的想法,Ubuntu20.04 也不例外。

初始账户信息使用这条查看

1
cat /etc/mysql/debian.cnf

使用默认账户登录

1
mysql -u debian-sys-maint -p

修改 root 密码 方便使用

1
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "password";

其他授权操作查看这篇博客

PHP

安装 PHP

1
apt install php8.1

查看 PHP 版本 php -v

PHP 常用扩展

1
apt install php8.1-mbstring php8.1-sqlite3 php8.1-redis php8.1-gd php8.1-fpm php8.1-curl php8.1-xml php8.1-mysql php8.1-zip

Composer

进入安装包存放目录

1
cd /usr/src

下载安装脚本

1
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

执行安装过程

1
php composer-setup.php

删除安装脚本

1
php -r "unlink('composer-setup.php');"

移入运行目录

1
mv composer.phar /usr/local/bin/composer

查看 Composer 版本

1
composer --version

更换为阿里云服务

1
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

Nginx

安装

Nginx 在默认的 Ubuntu 源仓库中可用。想要安装它,运行下面的命令:

1
apt install nginx

查看服务状态

1
systemctl status nginx

若报错System has not been booted with systemd as init system (PID 1). Can't operate.,可能使用的是 SysV init 命令。将 systemctl status service_name 改为 service service_name status 即可.

1
service nginx status

子站点配置

子站点配置文件统一放在 /etc/nginx/conf.d/

用自己的配置替换下面的 域名 和 public 目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
server {
listen 80;
listen [::]:80;

server_name 域名;

root public目录;
index index.php index.html index.htm index.nginx-debian.html;


# 允许上传大小
client_max_body_size 100M;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}

if (!-e $request_filename)
{
rewrite ^/(.*)$ /index.php?/$1 last;
break;

}

}