虽然市面上现在已经有很多一键安装LNMP的脚本面板等,但是大多都会安装很多依赖,而且编译安装的速度往往不尽人意 ,对于我这种有系统洁癖的人来说,使用apt安装LNMP全套再合适不过了。
0 准备工作
添加一个非root的新账号
# 使用以下命令添加一个user账户
adduser <user>
# 给新账户授予sudo权限
usermod -aG sudo <user>
# 然后登入新账户
su - <user>
升级软件包
# 更新apt源
sudo apt update
# 更新已安装包
sudo apt upgrade
1 安装LNMP
1.1 安装Nginx
安装依赖
sudo apt install curl gnupg2 ca-certificates lsb-release
添加Nginx官方源
echo "deb http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
导入Nginx密钥
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
更新apt源并安装最新Mainline Nginx
sudo apt update
sudo apt install nginx
如果系统防火墙ufw
已启用,则执行以下命令放行80/443端口
sudo ufw allow 'Nginx Full'
1.2 安装MySQL
使用下列命令安装MySQL
sudo apt install mysql-server
设置MySQL root账户密码
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
quit;
1.3 安装PHP
添加PHP PPA源
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
安装PHP 7.4
sudo apt install php7.4
安装常用扩展
sudo apt install php7.4-fpm php7.4-mysql php7.4-curl php7.4-json php7.4-mbstring php7.4-xml php7.4-intl
其他扩展(可选)
sudo apt install php7.4-gd
sudo apt install php7.4-soap
sudo apt install php7.4-gmp
sudo apt install php7.4-odbc
sudo apt install php7.4-pspell
sudo apt install php7.4-bcmath
sudo apt install php7.4-enchant
sudo apt install php7.4-imap
sudo apt install php7.4-ldap
sudo apt install php7.4-opcache
sudo apt install php7.4-readline
sudo apt install php7.4-sqlite3
sudo apt install php7.4-xmlrpc
sudo apt install php7.4-bz2
sudo apt install php7.4-interbase
sudo apt install php7.4-pgsql
sudo apt install php7.4-recode
sudo apt install php7.4-sybase
sudo apt install php7.4-xsl
sudo apt install php7.4-cgi
sudo apt install php7.4-dba
sudo apt install php7.4-phpdbg
sudo apt install php7.4-snmp
sudo apt install php7.4-tidy
sudo apt install php7.4-zip
因为安装PHP是同时默认安装了Apache2,所以需要将其卸载。
sudo apt remove apache2
2 LNMP配置
2.1创建网页目录
sudo rm -rf /var/www
sudo mkdir -p /var/www/html
# 将此处<user>替换为你新建账户名
sudo chown <user>:<user> /var/www/html
# 设置目录权限
sudo chmod 775 /var/www/html
新建index.php
vim /var/www/html/index.php
输入:
<?php
phpinfo();
?>
2.2 编辑PHP-FPM配置
sudo vim /etc/php/7.4/fpm/php.ini
查找cgi.fix_pathinfo=1
,将前方分号去掉。
重启PHP-FPM服务
sudo systemctl restart php7.4-fpm
2.3 编辑Nginx配置
sudo vim /etc/nginx/nginx.conf
将第二行user www;
中的www
替换为www-data
。
配置网站
sudo vim /etc/nginx/conf.d/default.conf
将内容替换为:
server {
listen 80;
server_name localhost;
root /var/www/html;
location / {
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
重启Nginx
sudo systemctl restart nginx
3 尾声
访问http://ip地址/index.php
,若出现php info界面则为LNMP搭建成功。在网站目录中推荐使用新建账户进行操作,使用root可能会造成权限问题。
版权声明:本文为原创文章, 本文版权归 祥林嫂 所有
本文链接:https://swjtu.today/archives/LNMP.html
所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。