由于以前服务器是用朋友的新号买的阿里云,这次到期了,准备把服务器迁移到自己账号下来顺便升级下系统。
很久没接触过linux了,一下没头绪了,所以记录一下方便以后。
这次系统为Centos Stream 9
一、
首先安装mysql
不要直接 yum install mysql 这样不是安装的服务器....
首先去官网下载 mysql-8.0.31-1.el9.x86_64.rpm-bundle.tar 然后解压, windows上 winrar就可以,linux上可以用 tar
然后用xftp 上传到服务器
这里我又犯了个错 直接yum install mysql-community-server-8.0.31-1.el9.x86_64.rpm 当然是不行的,必须按照以下先后顺序安装
mysql-community-common
mysql-community-client-plugins
mysql-community-libs
mysql-community-client
mysql-community-icu-data-files
mysql-community-server
安装完后先不要启动,我的习惯是不区分大小写,所以先要设置
修改配置文件 /etc/my.cnf
在配置文件的[mysqld]节点下,加入一行:
lower_case_table_names=1
然后启动服务 systemctl start mysqld
然后在/var/log/mysqld.log 找到临时密码
执行mysql -u root -p 也可以mysql -uroot -p*******
修改密码 ALTER USER USER() IDENTIFIED BY 'FDSF2134/fds'; 或者 ALTER USER 'root'@'localhost' IDENTIFIED BY 'beijing';
如果密码简单会报错,可以执行 set global validate_password.policy=0; 允许简单密码
允许远程连接update user set host = '%' where user ='root';
最后flush privileges;
exit
关于数据备份与恢复我习惯用 Navicat Premium
新建用户的时候密码要选 mysql_native_password 不然网站连不上
也可以ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword';
二、
安装dotnet
可以直接 sudo dnf install dotnet-sdk-6.0
其他安装方式可以参考官方文档在 Linux 上不使用包管理器的情况下安装 .NET - .NET | Microsoft Learn
不记得以前为啥要手动安装了,好像是版本问题
三、
安装redis
直接yum install redis
允许远程访问redis
在 /etc/redis.conf 中
bind 127.0.0.1注释掉,但生产环境中应该放开
设置密码
requirepass xxxxxxxx
然后启动 service redis start
四、
安装nginx
直接yum install nginx
修改 /etc/nginx/nginx.conf
把以前的server 复制过来
启动 service nginx start
然后惊奇发现静态页 403
问题出在上面的配置文件中
要改成user root; 但生产环境还是要注意
再然后发现大小url敏感导致大写开头的Index.html 无法访问,不知以前咋实现的
查看nginx.conf 发现有include /usr/share/nginx/modules/*.conf;
于是去这个目录中看,新安装的nginx 没有任何文件,以前服务器对应目录是有问题的,猜测应该是mod-http-perl 起到忽略大小写作用吧。
打开mod-http-perl.conf 发现引用了 load_module "/usr/lib64/nginx/modules/ngx_http_perl_module.so"; 新安装的目录中仍然没有,以前的有。
把这两个目录的文件都复制到新服务器,再重启nginx 发现启动不了,先不管了。
、