原阿里云服务器即将到期,因站点流量小,之前买的配置太高,有些浪费,刚好看到阿里云有个99元一年的ecs服务器,今天就果断买下,链接我放这里,“99计划助力开发者长期低成本用云”,活动有效期到2026年,就是说我还能用3年,到时候只能再换,买好服务器后,免不了有配置,下面记录下详细安装和配置过程,以便自己下次换服务器时参考,服务器系统使用rocky linux9.5,本地电脑用的macbook pro,从以前的4核8G,到现在的2核2G,性能肯定下降不少。
1. 首先创建密匙对,每次登陆需要输入密码那很麻烦,点击控制台的菜单,选择绑定密匙对
后面选下ecs-private-key(之前服务器创建的密匙对,第一次创建密匙对,一定要下载),然后点确认,就创建成功,需要重启才能生效,点击立即重启,输入手机验证码后服务器自动重启。
在左边菜单选择“标准版本”后,在左侧菜单“网络与安全->密匙对”就能看到绑定的密匙对,如果你不想和前服务器公用,可以点击“创建密匙对”按钮来创建新的密匙对。
2. 配置ssh快捷登录
vi ~/.ssh/config
然后加入这些配置到这个文件中,下载的密匙要放入.ssh目录中。
Host aliyun1 #alias
HostName 132.136.24.50 #服务器的ip
Port 22
User root
IdentityFile ~/.ssh/aliyun.pem
然后执行
ssh aliyun1
就能连上服务器,如下图:
登录后,打个命令df -ha看下磁盘情况
打个top命令看下cpu和内存占用情况:
cpu和内存基本很少,有几个aliyun的服务在活动,若到时候内存不够用,就可以把他们都移掉。
设置下服务器连接时间,要不然,几分钟就自动断开:
vim /etc/ssh/sshd_config
ClientAliveInterval 30 #找到这行,去掉前面#,改成30
ClientAliveCountMax 86400 #找到这行,去掉前面#,改成86400
systemctl restart sshd #重启服务,使得修改生效
3. 顺便把“安全组”也添加好,点击左边“网络与安全->安全组”
如果没有的请手动创建一下规则,443和80端口是要放开的,网站访问用,如果以前的服务已经加过,那直接把新服务器加入安全组就搞定。
点击上方实例列表,点击“实例加入安全组”,选一下实例,点“确定”,就添加成功。
下面我们就来安装php和mysql以及openresty(nginx)
4. 先安装mysql
打开MySQL Yum Repository页面,可以看到最新的只有mysql8.4,我本地装的是9.2,没有办法,下源码编译太麻烦,就用8.4
点击“Download”,进去页面,看下链接“No thanks, just start my download.”的网址,右键拷贝下
https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm
切换到服务器上,输入
wget https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm
rpm -ivh mysql84-community-release-el9-1.noarch.rpm
看到以下信息:
确认是否成功,输入:
yum repolist enabled
看到以下信息,说明成功:
输入命令,开始安装mysql:
yum install -y mysql-community-server
看到安装成功,然后启动下mysql
systemctl start mysqld
在输入以下命令查看下mysql的状态:
systemctl status mysqld
mysql安装成功,再设置下开机自启
systemctl enable mysqld
下面再来重置下mysql的密码,先输入命令查看临时密码:
grep password /var/log/mysqld.log
用这个临时密码登录mysql,会看到登录成功画面:
mysql -uroot -p
运行以下sql来修改密码:
alter user 'root'@'localhost' identified by "demo-pass123!" #修改成自己的密码
可以用命令查看下mysql的版本,会看到以下画面:
mysqld -V
mysql的安装到此结束。
5. 下面我们来安装下PHP8.4:
先执行命令来看下php包的版本:
yum module list php
发现PHP8.4还没进来,我们执行下这个命令:
yum install http://rpms.remirepo.net/enterprise/remi-release-9.rpm
安装完,再执行下查看命令,会看到:
yum module list php
PHP8.4已经有了,然后分别执行以下开启php8.4命令:
yum module reset php
yum module enable php:remi-8.4
然后执行以下命令安装php:
yum -y install php php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-mbstring
这个需要几十分钟,耐心等待它的完成。
再输入命令看下PHP版本:
php -v
然后启动php-fpm,并加入自启:
systemctl start php-fpm
systemctl enable php-fpm
php安装完成。
6. 下面再来安装下openresty
依次执行以下命令来完成安装,参考openresty官方文档:
wget https://openresty.org/package/rocky/openresty2.repo
mv openresty2.repo /etc/yum.repos.d/openresty.repo
yum check-update
执行以下命令启动openresty并加入开机自启:
systemctl start openresty
systemctl enable openresty
用服务器的ip访问下就可以看到以下界面,说明安装成功。
7. 安装下上传和下载工具lrzsz,执行命令:
yum -y install lrzsz
8. 下面暗装composer
参考,composer官方页面
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'.PHP_EOL; } else { echo 'Installer corrupt'.PHP_EOL; unlink('composer-setup.php'); exit(1); }"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
cp /usr/local/bin/composer /usr/bin #可以让其他用户也能执行compser命令,比如php运行用户www
等待安装完成后,输入命令,查看版本:
composer -V
说明composer安装成功。
9. 下面安装一下git命令:
yum -y install git
输入命令,查看下版本:
git -v
下面来创建系统用户给php-fpm用,也可以用系统的apache用户,依次执行以下命令:
#添加www组, 1201可自行修改
groupadd -g 1201 www
#添加www用户并属于www组,给php用
useradd -u 1201 -s /sbin/nologin -d /dev/null -g www www
根据需要修改以下配置文件:
/etc/my.cnf /etc/php.ini /etc/php.d/www.conf /usr/local/openresty/nginx/conf/nginx.conf
重启下
systemctl restart openresty systemctl restart mysqld systemctl restart php-fpm
整个环境基本配置完成
下面就是部署代码,
设置定时任务,以前记得阿里云可以在网页设置的,现在找不到链接,那就自己设置下,登录服务器:
crontab -e
然后把框架提供的定时任务加入即可,设置完crontab -l看下。
等把代码部署上去,就可以把服务器设置成维护模式,备份出旧服务器的数据库并下载到本地:
mysqldump -u root -p database_name > ./database_name.sql
登录新服务器,上传刚刚从旧服务器备份的数据,在新服务器上创建数据库,并导入数据库:
mysql -uroot -p database_name < ./database_name.sql
等全部弄好后,就可以用http://{服务器ip}访问下你的网站,如果一切正常,那就可以把域名指向新的服务器。
最后别忘去备案网备案下新服务器IP(有30天的缓冲期),要不然被查到,后果比较严重。
最后附上迁移过程中遇到的问题: