阿里云服务器rocky linux下php环境(nginx+mysql)的搭建教程

29
0
0
2025-02-07 20:00

原阿里云服务器即将到期,因站点流量小,之前买的配置太高,有些浪费,刚好看到阿里云有个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天的缓冲期),要不然被查到,后果比较严重。

最后附上迁移过程中遇到的问题:

阿里云服务器经常卡死,卸载aliyun监控助手和dnf-makecache

说说从mysql5.7升级到mysql8遇到的编码和索引问题

博主信息
博客数
187
昵称
性别
年龄
40
居住城市
上海市