LNMP全手动配置、迁移数据
把机器升级系统手残(傻卵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