Ubuntu 22.04安装LNMP

第一步:更新系统

拿到Ubuntu22.04后,更新所有的包,包含内核。我这里直接是Root登录的,如果不是root登录的,所有命令前加sudo。

apt update:更新本地包列表 ,让系统知道哪些软件包有最新的版本

apt upgrade:更新所有已安装的软件包到最新版本,注意不是该软件的最新版本,而是在比如22.04版本下该软件的最新怎么,比如nginx,目前最新版本是1.26,但用upgrade更新后,只到1.18版本。

apt update
apt upgrade -y

第二步:安装 nginx

apt install nginx

第三步:安装PHP

先设置PHP的apt源,再更新安装包,再安装PHP版本,最后启动PHP。我这里最终安装的版本是8.2.27版本。

#安装PHP源
apt install software-properties-common   #解决没有这个add-apt-repository命令
add-apt-repository ppa:ondrej/php

#更新软件包
apt update
apt upgrade

#安装PHP8.2
apt install php8.2 php8.2-fpm php8.2-common php8.2-mbstring php8.2-xml php8.2-zip php8.2-opcache php8.2-mcrypt php8.2-cli php8.2-gd php8.2-curl php8.2-mysql php8.2-redis php8.2-bcmath php8.2-bz2 php8.2-sqlite3

#启动PHP8.2
systemctl start php8.2-fpm

#若安装PHP7.4,刚把8.2更换为7.4即可。

第四步:安装Mysql

ubuntu22.04,默认安装的mysql是8.0,我这小版本是41版,即mysql8.0.41。

#安装mysql
apt install mysql-server

#修改Mysql的监听地址
sed -i /bind-address = 127.0.0.1/bind-address = 0.0.0.0/g  /etc/mysql/mysql.conf.d/mysqld.cnf

#启动Mysql
systemctl start mysql.service

# 创建远程管理用户并授权
mysql -uroot -p
CREATE USER 'LghManager'@'%' IDENTIFIED WITH mysql_native_password BY "HnLgh@10086";
GRANT ALL PRIVILEGES ON *.* TO 'LghManager'@'%' ;
flush privileges;

第五步:设置虚拟主机配置文件

cat >/etc/nginx/conf.d/www.hnnews.com.conf
server {
    listen 80;
    server_name www.hnnews.com;
    root /data/www;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index  index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    # error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass   unix:/run/php/php8.2-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
         deny all;
    }
}

#重启nginx
systemctl restart nginx

第六步:建业务库并授权

create database lghtest001 charset=utf8mb4 collate utf8mb4_general_ci;

CREATE USER 'lghtest'@'%' IDENTIFIED BY 'Lghtest@123321';
GRANT ALL PRIVILEGES ON lghtest001.* TO 'lghtest'@'%';
flush privileges;

第七步:怎么查nginx/php/mysql版本

# nginx -V
nginx version: nginx/1.18.0 (Ubuntu)
built with OpenSSL 3.0.2 15 Mar 2022


# php -v
PHP 8.2.27 (cli) (built: Jan  2 2025 15:36:15) (NTS)
Copyright (c) The PHP Group


mysql> select version();
+-------------------------+
| version()               |
+-------------------------+
| 8.0.41-0ubuntu0.22.04.1 |
+-------------------------+
1 row in set (0.00 sec)

mysql> exit
声明:欢迎大家光临本站,学习IT运维技术,转载本站内容,请注明内容出处”来源刘国华教育“。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。