当前位置:首页 > 运维 > 正文内容

LNMP全手动配置、迁移数据

MuWinds1年前 (2024-02-03)运维239

把机器升级系统手残(傻卵redhat,centos8的eol结束之后库一个不留都扔了),塔子给我玩废了(数据还在,万幸),正好也尝试在没有宝塔的情况下手搓LNMP并迁移数据

啥?你问我为啥不找脚本?脚本跑的慢的一批,等他的工夫我自己都装完上线网站了……

系统环境:Rocky Linux 8.9,食用前请自行更新dnf/yum,本文不再赘述!!

指令:

dnf update && sudo dnf upgrade -y

1.安装Nginx

    (1)***默认情况下安装的是远古版本Nginx 1.14,可以自己手动更新(?)用dnf的话一句话就能安装了

sudo dnf install nginx

    (2)安装成功后用下列指令拉入开机自启并确认状态:

sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx

    (3)放行80和443,你可以直接关闭防火墙,你也可以用firewall-cmd解决

sudo firewall-cmd --add-port=80/tcp
sudo firewall-cmd --add-port=443/tcp

*1.安装最新Nginx

    (1)从官方网站导入源

sudo vi /etc/yum.repos.d/nginx-mainline.repo
[nginx-mainline]

name=nginx mainline repo

baseurl=https://nginx.org/packages/mainline/rhel/8/x86_64/

gpgcheck=1

enabled=0

gpgkey=https://nginx.org/keys/nginx_signing.key

module_hotfixes=true

    (2)安装nginx

sudo dnf -y install dnf-utils
sudo dnf -y install nginx

2.安装PHP

    (1)添加仓库

sudo dnf install epel-release -y
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

    (2)列出仓库的php,选择自己需要的php版本

sudo dnf module list php

    (3)这里以安装php7.4为例,启用并安装php

sudo dnf module enable php:remi-7.4
dnf install php -y

    (4)安装完确认php是否安装,可通过让其输出版本号进行确认:

php --version

    (5)安装php-pdomysql:正常情况下安装的php是默认带了一些扩展,比如fileinfo,但是没有pdo-mysql,需要我们手动安装

sudo dnf install php-mysql -y

3.安装mysql,这里以5.7版本为例(将.sql文件放入/root文件夹下)

    (1)先下载mysql的rpm包

wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm

    (2)安装mysql源(神启动!)

rpm -Uvh mysql57-community-release-el7-10.noarch.rpm

    (3)安装mysql服务端

yum install -y mysql57-community-release-el7-10.noarch.rpm

    (4)查看默认密码(如果提示报错则是没有root密码,直接回车登陆即可)

cat /var/log/mysqld.log | grep password

    (5)将服务设为开机启动并启动

sudo systemctl enable mysqld
sudo systemctl start mysqld
sudo systemctl status mysqld

    (6)登陆mysql

mysql -u root -p

    (8)新建数据库

CREATE DATABASE bt;

    (8)使用数据库

use bt;

    (9)导入数据库文件

source /root/www_example.sql

    (10)退出

exit;

4.新增虚拟主机

    (1)新增用户www,并赋予www下文件目录权限

sudo usermod -a -G www www 
sudo chmod -R 775 /www

    (2)将网站文件放入www目录下,自行ftp等方式上传

    (3)配置php

vi /etc/php-fpm.d/www.conf

            按i编辑,新增两行:

            user = www

            group = www

            按:wq保存退出即可

    (4)配置nginx虚拟主机

            新增虚拟主机

vi /etc/nginx/conf.d/www.example.com.conf

            将下列配置文件贴进去:

server {
    listen 80;
    listen [::]:80 ipv6only=on;

# Log files for Debugging
    access_log /var/log/nginx/www-example-com-access.log;
    error_log /var/log/nginx/www-example-com-error.log;

# Webroot Directory for Laravel project
    root /www/fuck_airwallex_com/public;
    index index.php index.html index.htm;

# Your Domain Name
    server_name fuck.airwallex.com;
    include /www/fuck_airwallex_com/.htaccess;

# PHP-FPM Configuration Nginx
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

            在网站文件夹下,新增.htaccess文件,配置伪静态

            在代码配置好数据库连接,重启nginx,打开网页,查看效果

sudo systemctl restart nginx

image.png

“LNMP全手动配置、迁移数据” 的相关文章

快速且简单通用的批量转码方法

前情提要:MC服务器迁移到HomeServer后,突然有一天玩家跟我说挑战乱码,我打开挑战文件一看:而且挑战文件都在一个文件夹共有291个,一个个扔到npp里面转成utf8也不是事儿。简单说一下批量转码方法,以下适用于所有用yum的机器:先安装依赖:yum install -y&...

离线下载Aria2搭建

2024.02.03更新:不如比特彗星,ipv6支持一坨狗屎,比特彗星也有远程下载,这就是个垃圾安装还是很方便的,直接一个yum就行了yum install -y aria2然后创建一个配置文件:cd /etc/  sudo mkdir&...

yarn构建提示Error: error:0308010C:digital envelope routines::unsupported的解决方法

这个是SSL套件的问题,输入下面的指令切换一下就好了:$env:NODE_OPTIONS = "--openssl-legacy-provider"...

记录一个远古垃圾系统的维护

这次接手的是tp框架的远古收款系统,开局几个ajax认不上我已经习以为常了,反手把php版本改成7.0就恢复正常(7.0算是个兼容版本 5.x的和7.x都兼容一点 各位穷途末路了可以试试)然后呢,其他的确认过没啥毛病了,打算测试一下接口的时候,意外就来了,弹404。我知道tp框架弹404一定是代码的...

雨云CDN清除指定文件的缓存

雨云的CDN并没有给用户清除缓存的选项,想清除缓存的话其实挺麻烦的。通过浏览器对网站的请求头我们可以看到,CDN的服务器是apache apisix通过查阅apisix有关缓存的文档,我们可以发现清除缓存的方法:https://apisix.apache.org/zh/docs/apisix/2.1...

支付系统下MySQL超时问题

现在跑的支付系统在处理客户问题查询订单的时候经常查询超时锁表,导致需要刷新网页。支付系统的在数据库的特性是高更新频率,当我在排查问题的时候看到了query cache,去google了一下:MySQL查询缓存是MySQL中比较独特的一个缓存区域,用来缓存特定Query的整个结果集信息,且共享给所有客...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。