alibaba cloud linux+JDK+TOMCAT+NGINX+PHP+MYSQL配置实践

avatar
作者
猴君
阅读量:0

        CentOs要停止维护了,一直在服务器上用的CentOs7也最迟到2024年6月了,这次给公司新购一台备用服务器,在选择操作系统的时候,考虑了一下,决定试用一下阿里云的alibaba cloud linux。

        alibaba cloud linux分为2和3版本,虽然从文档描述上,2与CentOs7更为兼容,但鉴于2的EOL是2024-03-31,比CentOs7还要早,所以,直接上3。

        在选择的时候,发现还有一个alibaba cloud linux等保2.0三级版,这个是针对操作系统上等保设置使用的,如果给客户作用,直接选择后配置相关策略倒可省去不少麻烦,可作为公司备用服务器,按等保要求设置后难免会要求定期更改密码等操作,这实际用起来确实麻烦,所以,暂时就不选了。

        在阿里云购买实例创建后,远程连接进入系统。

        我因为创建实例时并未选填密码,所以得进入阿里云后台先重置一下密码。

        这个中间出了点小差错,我重置密码时,是将原来text文档中的密码直接复制到重置界面的窗口中的,但我用SecureCRT连接服务器时,复制同样的密码却没登录进去,显示的是创建本地什么角本失败还是什么的。于是我到阿里云后台通过远程连接的方式登录,在远程连接中选择密码登录,结果登录失败,大概是显示了类似下面的界面:

        一脸懵的我查看阿里云文档,提示说:该问题是由SSH服务对应配置文件/etc/ssh/sshd_config中的参数PasswordAuthentication被设置为no,表示禁止以密码方式登录ECS实例,需要修改为yes

        阿里云系统默认禁用密码方式登于录?无奈使用VNC连接服务器,在界面中用root登录时发现,始终登录不上,密码校验不过。我奇了个怪了,输数次都不行只好再一次重置了密码。然后……再次直接用密码登录,直接登录成功了,再试试SecureCRT,也登录上了。……,难道重置密码复制的时候我多复制或少复制了什么内容?不得解。但登录不上提示的原因却是:服务器删除了密码登录方式,是不是也太让人困扰了??

       开始配置系统,我的系统一般配置JDK+TOMCAT+NGINX+PHP+MYSQL,首先从JDK开始。

        虽然JDK21已经发布了,但因为项目原因,JDK8还占主场,所以还是安装JDK8。

        安装步骤仍然参照本人之前的步骤:

CentOS 7.4 64位 搭建Jdk8+Tomcat8+Nginx+Mysql+PHP环境_mysql+nginx+jdk8-CSDN博客

        YUM安装,一路到底,与centOS确实无差别。

        TOMCAT仍用版本8,仍然是解压方式安装,参照上述文件。

        NGINX安装,无需更新rpm包,因为默认的nginx已经是1.20了,这个版本可以了。

        到了PHP的安装,rpm版本直接是7.4了,可以用yum list php*列一下看有没有自己的版本,比如说5.6的,如果有,直接安装,如果没有,执行

        rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm

       会提示与阿里云冲突,不管它,直接执行下一句:
       rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

       再yum list php*一下,应该就会看到其它版本了。

       可安装的时候又报错:

Error:

 Problem: conflicting requests

  - nothing provides libmysqlclient.so.18()(64bit) needed by php56w-mysql-5.6.40-1.w7.x86_64

  - nothing provides libmysqlclient.so.18(libmysqlclient_18)(64bit) needed by php56w-mysql-5.6.40-1.w7.x86_64

(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

       这应该是mysql的一个库缺失了,考虑到我们还没安装mysql,那不如先安装mysql吧。阿里云服务器上直接mysql的版本是8.0,而我这次打算安装8.0,直接安装就可以了。

       yum install mysql-community-server

       然后就是更改密码之一系列操作,参照之前的文章。

       Mysql安装完毕,回头再装php,发现还是一样的问题。

       参照网上的解决方案试一试。

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm

       执行后再执行

yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64

       果然可以安装了。

       安装完成后再安装

yum install php56w-fpm

systemctl start php-fpm.service

       启动时却出现错误:

/usr/sbin/php-fpm: error while loading shared libraries: libssl.so.10: cannot open shared object

       下载相关包:

wget https://vault.centos.org/centos/8/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-3.el8.x86_64.rpm

rpm -ivh compat-openssl10-1.0.2o-3.el8.x86_64.rpm

       再执行:

systemctl start php-fpm.service

      成功了。


      systemctl enable php-fpm.service设为服务。

       其他配置按原来服务器参照文档。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!