一,阿里云服务器基本简介
随着科技的迅猛发展和互联网的普及,云计算成为当今社会中不可或缺的一部分。阿里云作为领先的云计算服务提供商,在满足各种需求的同时,也成为了许多组织和个人不可或缺的选择。现在这个时代,用到阿里云服务器的地方有很多。
二,阿里云服务器的应用场景
首先,许多企业和组织都需要稳定可靠的服务器来托管和运行他们的网站和应用程序。阿里云服务器提供了高速、高性能的计算能力和存储资源,可以满足各种网站和应用程序的需求。不仅如此,阿里云还提供了可扩展性和灵活性,可以根据需求随时增加或减少计算和存储资源,从而提供更好的用户体验和成本效益。
其次,阿里云服务器在电子商务领域也发挥着重要作用。如今,越来越多的企业选择将他们的商务活动转移到互联网上,建立电子商务平台。而阿里云服务器正是这些平台的核心基础设施之一。它们能够提供高可用性、弹性扩缩容、负载均衡等功能,确保电子商务网站在高流量和高并发的情况下保持稳定和可靠。此外,阿里云服务器还支持多样的存储选项,包括关系型数据库、对象存储和文件存储等,满足不同类型的电子商务平台需求。
第三,阿里云服务器在移动应用领域也扮演着重要角色。如今,人们越来越依赖移动设备来满足他们的日常需求,包括社交媒体、购物、旅行等。移动应用程序需要可靠的后端支持来存储和处理大量的数据,并提供实时的服务。阿里云服务器提供了强大的云计算能力和移动后端服务,能够满足不同类型的移动应用需求,包括数据存储、用户认证、消息推送等。它们通过阿里云的全球分布式架构,确保移动应用在全球范围内都能够拥有优质的用户体验。
另外,阿里云服务器还广泛应用于大数据和人工智能领域。随着人们对数据的需求不断增长,大数据技术成为了解决数据处理和分析问题的重要途径。阿里云服务器提供了强大的计算和存储能力,可以承载大规模的数据处理和分析任务,帮助企业和组织发现数据中的价值。同时,阿里云服务器还提供了一系列的人工智能服务,如语音识别、图像识别等,帮助用户实现更智能化的应用。
三,准备工作
接下来,就是如果你要使用阿里云,那么你必须要注册一个阿里云账号,否则你是无法购买到阿里云服务器的。
点击:注册阿里云账号
在注册页面,输入用户名,手机号,密码和重复密码,然后点击注册
四,实名认证
注册完以后,去到阿里云个人中心,做一下实名认证。点击:实名认证入口
我一般推荐用户选择企业实名,因为现在很多业务都是跟企业相关的,而且个人实名的阿里云也不会开企业发票啊。
五,服务器配置的选择
服务器的配置是很多的,可以根据业务需求的不同而选择不同的配置,我这里可以做个大概的总结。
如果你是部署一个小网站,用户规模不多,2核4G3兆的配置就行。
如果你是上线一个小程序,app,每秒并发还可以,4核8G5兆的配置就行。
如果你是上线一个ERP,公司员工数挺多,那么需要8核16G 10兆吧。
当然如果你说你的用户规模几百万,甚至到几千万了,这个时候就需要用大并发解决方案了。
负债均衡,数据库,CDN,OSS,这些技术都要上了。单台服务器可搞不定哦。
接下来就去购买阿里云服务器吧。点击:阿里云配置选择入口
在这个页面,选择:地区,型号,CPU,内存,操作系统,系统盘类型,系统盘大学,数据盘类型,数据盘数量,数据盘大小,宽带大小。
这样就购买完了阿里云服务器了。
六,登录阿里云服务器
阿里云服务器选好,以后,去阿里云服务器控制台,去重设一下服务器的密码。
一般来说,阿里云服务器分为Linux操作系统和Windows操作系统。我现在分别和大家说一下这两个操作系统如何登录云服务器吧。
1,登录Windows云服务器
(1)可以用你自己的电脑,打开电脑做左下角菜单栏,找到远程桌面链接,去链接服务器,如果你是win10的电脑,则在菜单栏的windows附件里,找到来
(2)然后输入你的公网IP,点击:链接,然后输入账号和密码,点击:链接,账号是:administrator
(3)然后就可以登录上你的云服务器了。
2,登录Linux云服务器(以SSH为例)
(1)下载并安装PuTTY。
下载链接:PuTTY。
(2)启动PuTTY。
(3)配置连接Linux实例所需的信息。
Host Name (or IP address):输入实例的固定公网IP或EIP。
Port:输入22。
Connection Type:选择SSH。
(可选)Saved Sessions:输入一个便于识别的名称,然后单击Save即可保存会话,下次登录时无需输入公网IP等信息。
(4)单击Open。
首次连接时会出现PuTTY Security Alert警告,表示PuTTY无法确认远程服务器的真实性,只能提供服务器的公钥指纹。选择是,表示您信任该服务器,PuTTY会将公钥指纹加入到本地设备的注册表中
(5)输入用户名(默认为root),然后按回车键。
(6)输入实例登录密码,然后按回车键。
输入完成后按回车键即可,登录Linux实例时界面不会显示密码的输入过程。
如果出现Welcome to Alibaba Cloud Elastic Compute Service !,表示成功连接到实例。
如果出现Disconnected:No supported authentication methods available错误,可能是ECS实例内禁止用户使用密码方式连接或SSH密钥对的公钥未加入对应用户.ssh/authorized_keys中
七,部署Java Web环境(CentOS 7)
步骤一:安装前准备
1,在安全组入方向添加规则放行所需端口。具体步骤,请参见添加安全组规则。
例如本示例中,SSH协议的22端口和HTTP协议的8080端口。
2,远程连接Linux实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
3,关闭防火墙
(1)运行systemctl status firewalld命令查看当前防火墙的状态。
如果防火墙的状态参数是inactive,则防火墙为关闭状态。
如果防火墙的状态参数是active,则防火墙为开启状态。本示例中防火墙为开启状态,因此需要关闭防火墙。
(2)关闭防火墙。如果防火墙为关闭状态可以忽略此步骤
如果您想临时关闭防火墙,运行以下命令。
systemctl stop firewalld
如果您想永久关闭防火墙,需要依次运行以下命令
a.关闭当前运行中的防火墙。
systemctl stop firewalld
b.关闭防火墙服务,在下次重启实例后,防火墙服务将不会开机自启动
systemctl disable firewalld
4,关闭SELinux。
(1)运行命令以下命令查看SELinux的当前状态。
getenforce
查看结果示例,如下图所示:
如果SELinux状态参数是Disabled, 则SELinux为关闭状态
如果SELinux状态参数是Enforcing,则SELinux为开启状态。本示例中SELinux为开启状态,因此需要关闭SELinux。
(2)关闭SELinux。如果SELinux为关闭状态可以忽略此步骤。
a.如果您想临时关闭SELinux,运行以下命令。
setenforce 0
b.如果您想永久关闭SELinux,运行以下命令打开SELinux配置文件。
vi /etc/selinux/config
在/etc/selinux/config文件内,将光标移动到SELINUX=enforcing
一行,按i键进入编辑模式,修改为SELINUX=disabled
,然后按Esc键,再输入:wq
并回车,保存关闭SELinux配置文件
(3)重启系统使设置生效。
步骤二:安装JDK
1,执行以下命令,查看yum源中JDK版本。
yum list java*
2,执行以下命令,使用yum安装JDK1.8.0。
yum -y install java-1.8.0-openjdk*
3,执行以下命令,查看是否安装成功
java -version
如果显示如下所示,则表示JDK安装成功。
[root@iZuspq7vnxm**** ~]# java -version
openjdk version "1.8.0_342"
OpenJDK Runtime Environment (build 1.8.0_342-b07)
OpenJDK 64-Bit Server VM (build 25.342-b07, mixed mode)
4,配置环境变量。
(1)运行以下命令,查看JDK安装的路径。
find /usr/lib/jvm -name 'java-1.8.0-openjdk-1.8.0*'
回显信息如下所示。
[root@test000****~]# find /usr/lib/jvm -name 'java-1.8.0-openjdk-1.8.0*'
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64
(2)打开配置文件
vim /etc/profile
(3)在配置文件末尾,按i进入编辑模式。
(4)添加以下信息。
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH
(5)按下Esc键,输入:wq
并回车以保存并关闭文件。
(6)运行以下命令,立即生效环境变量。
source /etc/profile
步骤三:安装Apache Tomcat
1,运行以下命令,下载并解压Tomcat 8安装包。
wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.88/bin/apache-tomcat-8.5.88.tar.gz
tar -zxvf apache-tomcat-8.5.88.tar.gz
2,行以下命令,移动Tomcat所在目录。
mv apache-tomcat-8.5.88 /usr/local/tomcat/
3,为保证系统安全性,建议创建一般用户来运行Tomcat。
例如,本示例中创建一般用户www。
useradd www
4,运行以下命令,将文件的所属用户设置为www。
chown -R www.www /usr/local/tomcat/
在/usr/local/tomcat/目录下:
- bin:存放Tomcat的一些脚本文件,包含启动和关闭Tomcat服务脚本。
- conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml。
- webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录。
- logs:存放Tomcat执行时的日志文件。
5,配置server.xml文件。
(1)运行以下命令,切换到/usr/local/tomcat/conf/目录。
cd /usr/local/tomcat/conf/
(2)运行以下命令,重命名server.xml文件。
mv server.xml server.xml_bk
(3)新建一个server.xml文件
运行以下命令,创建并打开server.xml文件
vi server.xml
按下i键,添加以下内容。
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8006" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
<Listener className="org.apache.catalina.core.AprLifecycleListener"/>
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml"/>
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxThreads="1000"
minSpareThreads="20"
acceptCount="1000"
maxHttpHeaderSize="65536"
debug="0"
disableUploadTimeout="true"
useBodyEncodingForURI="true"
enableLookups="false"
URIEncoding="UTF-8"/>
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="/data/wwwroot/default" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
按Esc键,输入:wq
并回车以保存并关闭文件
6,设置JVM内存参数。
(1)运行以下命令,创建并打开/usr/local/tomcat/bin/setenv.sh文件
vi /usr/local/tomcat/bin/setenv.sh
(2)按下i键,添加以下内容。
指定JAVA_OPTS
参数,用于设置JVM的内存信息以及编码格式。
JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8'
(3)按下Esc键,输入:wq
并回车以保存并关闭文件。
7,设置Tomcat自启动脚本。
(1)运行以下命令,下载Tomcat自启动脚本。
wget https://raw.githubusercontent.com/oneinstack/oneinstack/master/init.d/Tomcat-init
(2)运行以下命令,移动并重命名Tomcat-init。
mv Tomcat-init /etc/init.d/tomcat
(3)运行以下命令,为/etc/init.d/tomcat添加可执行权限。
chmod +x /etc/init.d/tomcat
(4)运行以下命令,设置启动脚本JAVA_HOME。
sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64@' /etc/init.d/tomcat
8,依次运行以下命令,设置Tomcat开机自启动。
chkconfig --add tomcat
chkconfig tomcat on
9,运行以下命令,启动Tomcat。
service tomcat start
回显信息类似如下所示,表示启动Tomcat成功。
[root@test000**** conf]# service tomcat start
Starting tomcat
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
Tomcat is running with pid: 11837
步骤四:部署测试项目并验证
将需要部署的Java Web项目文件WAR包上传到网站根目录下,并将网站根目录下文件所属用户改为www。您可以使用支持文件传输功能的远程连接工具或搭建FTP站点上传项目文件。本示例中,网站根目录为/data/wwwroot/default,运行以下命令直接在网站根目录下新建一个Tomcat测试页面,并进行访问。
- 运行以下命令,创建网站根目录。
mkdir -p /data/wwwroot/default - 运行以下命令,将网站根目录的所属用户设置为www。
chown -R www.www /data/wwwroot - 运行以下命令,新建测试文件。
echo Tomcat test > /data/wwwroot/default/index.jsp - 在本地浏览器地址栏中输入
http://公网IP:8080
进行访问。
返回页面如下图所示,表示安装成功。如果无法访问,请确保已在安全组中放行Tomcat默认使用的8080端口。具体操作,请参见添加安全组规则。
八,手动部署LNMP环境(CentOS 8)
步骤一:准备编译环境
1,远程连接需要部署LNMP环境的ECS实例。具体操作,请参见 连接方式概述 。
2,关闭防火墙。
(1)运行systemctl status firewalld命令,查看当前防火墙的状态。
- 如果防火墙的状态参数是inactive,则防火墙为关闭状态。
- 如果防火墙的状态参数是active,则防火墙为开启状态。
(2)关闭防火墙。如果防火墙为关闭状态可以忽略此步骤
如果您想临时关闭防火墙,需要运行以下命令
sudo systemctl stop firewalld
如果您想永久关闭防火墙,需要依次运行以下命令:
关闭防火墙
sudo systemctl stop firewalld
实例开机时,禁止启动防火墙服务
sudo systemctl disable firewalld
3,关闭SELinux。
(1),运行getenforce命令查看SELinux的当前状态
- 如果SELinux状态参数是Disabled,则SELinux为关闭状态。
- 如果SELinux状态参数是Enforcing,则SELinux为开启状态。
(2),关闭SELinux。如果SELinux为关闭状态可以忽略此步骤
SELinux关闭的方式分为临时关闭和永久关闭,请您根据自身业务需求进行选择。具体操作,请参见开启或关闭SELinux。
步骤二:安装Nginx
1,切换CentOS 8源地址。CentOS 8操作系统版本结束了生命周期(EOL),按照社区规则,CentOS 8的源地址http://mirror.centos.org/centos/8/内容已移除,您在阿里云上继续使用默认配置的CentOS 8的源会发生报错。如果您需要使用CentOS 8系统中的一些安装包,则需要手动切换源地址。具体操作,请参见CentOS 8 EOL如何切换源?。
2,运行以下命令安装Nginx。
本教程将选用Nginx 1.16.1版本。
sudo dnf -y install http://nginx.org/packages/centos/8/x86_64/RPMS/nginx-1.16.1-1.el8.ngx.x86_64.rpm
3,运行以下命令查看Nginx版本。
nginx -v
查看版本结果如下所示。
[test@iZbp148k6pnnjmij4rd**** ~]$ nginx -v
nginx version: nginx/1.16.1
步骤三:安装MySQL
1,运行以下命令安装MySQL
sudo dnf -y install @mysql
2,运行以下命令查看MySQL版本
mysql -V
查看版本结果如下所示。
[test@iZbp148k6pnnjmij4rd**** ~]$ mysql -V
mysql Ver 8.0.26 for Linux on x86_64 (Source distribution)
步骤四:安装PHP
1,运行以下命令,添加并更新epel源
sudo dnf -y install epel-release
sudo dnf -y update epel-release
2,运行以下命令,删除缓存的无用软件包并更新软件源
sudo dnf clean all
sudo dnf makecache
3,启用php:7.3
模块
sudo dnf module enable php:7.3
4,运行以下命令,安装PHP相应的模块
sudo dnf -y install php php-curl php-dom php-exif php-fileinfo php-fpm php-gd php-hash php-json php-mbstring php-mysqli php-openssl php-pcre php-xml libsodium
查看版本结果如下所示。
[test@iZbp148k6pnnjmij4rd**** ~]$ php -v
PHP 7.2.24 (cli) (built: Oct 22 2019 08:28:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
步骤五:配置Nginx
1,运行以下命令,查看并记录Nginx配置文件的默认路径
cat /etc/nginx/nginx.conf
在http
大括号内,查看include
配置项。即配置文件的默认路径。
2,在配置文件的默认路径下,备份默认配置文件。
cd /etc/nginx/conf.d
sudo cp default.conf default.conf.bak
3,修改默认配置文件
(1)运行以下命令打开默认配置文件。
sudo vim default.conf
(2)按i进入编辑模式。
(3)在location
大括号内,修改以下内容
location / {
#将该路径替换为您的网站根目录。
root /usr/share/nginx/html;
#添加默认首页信息index.php。
index index.html index.htm index.php;
}
(4)去掉被注释的location ~ \.php$
大括号内容前的#
,并修改大括号的内容。
修改完成如下所示
location ~ \.php$ {
#将该路径替换为您的网站根目录。
root /usr/share/nginx/html;
#Nginx通过unix套接字与PHP-FPM建立联系,该配置与/etc/php-fpm.d/www.conf文件内的listen配置一致。
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
#将/scripts$fastcgi_script_name修改为$document_root$fastcgi_script_name。
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#Nginx调用fastcgi接口处理PHP请求。
include fastcgi_params;
}
(5)按下Esc键,并输入:wq
保存退出文件。
4,运行以下命令,启动Nginx服务。
sudo systemctl start nginx
5,运行以下命令,设置Nginx服务开机自启动
sudo systemctl enable nginx
步骤六:配置MySQL
1,运行以下命令启动MySQL,并设置为开机自启动
sudo systemctl enable --now mysqld
2,运行以下命令,查看MySQL是否已启动
sudo systemctl status mysqld
查看返回结果中Active: active (running)表示已启动。
3,运行以下命令,执行MySQL安全性操作并设置密码
sudo mysql_secure_installation
输入Y并回车开始相关配置。
选择密码验证策略强度,输入2并回车。
策略0表示低,1表示中,2表示高。建议您选择高强度的密码验证策略。
设置MySQL的新密码并确认。
本示例设置密码PASSword123!。
输入Y并回车继续使用提供的密码。
输入Y并回车移除匿名用户。
设置是否允许远程连接MySQL。
- 不需要远程连接时,输入Y并回车。
- 需要远程连接时,输入N或其他任意非Y的按键,并回车。
输入Y并回车删除test库以及对test库的访问权限。
输入Y并回车重新加载授权表。
步骤七:配置PHP
1,修改PHP配置文件。
(1)运行以下命令,打开配置文件
sudo vim /etc/php-fpm.d/www.conf
(2)按i进入编辑模式。
(3)找到user = apache
和group = apache
,将apache
修改为nginx
(4)按下Esc键,并输入:wq
保存退出文件
2,新建并编辑phpinfo.php文件,用于展示PHP信息
(1)运行以下命令,新建phpinfo.php文件
sudo vim <网站根目录>/phpinfo.php
<网站根目录>是您在nginx.conf配置文件中location ~ .php$
大括号内,配置的root
参数值,如下图所示。
本文配置的网站根目录为/usr/share/nginx/html,因此需要运行以下命令新建phpinfo.php文件
sudo vim /usr/share/nginx/html/phpinfo.php
(2)按i进入编辑模式。
(3)输入下列内容,函数phpinfo()
会展示PHP的所有配置信息
<?php echo phpinfo(); ?>
(4)按Esc键后,输入:wq并回车,保存关闭配置文件
3,运行以下命令,启动PHP-FPM
sudo systemctl start php-fpm
4,运行以下命令,设置PHP-FPM
开机自启动
sudo systemctl enable php-fpm
步骤八:测试访问LNMP平台
- 在本地物理机打开浏览器。
- 在地址栏输入
http://<ECS实例公网IP地址>/phpinfo.php
。返回结果如下图所示,表示LNMP环境部署成功。
3.测试访问LNMP配置信息页面后,建议您运行以下命令将phpinfo.php文件删除,消除数据泄露风险。
sudo rm -rf <网站根目录>/phpinfo.php
其中,<网站根目录>需要替换为您在nginx.conf中配置的网站根目录。
本文配置的网站根目录为/usr/share/nginx/html,因此需要运行以下命令:
sudo rm -rf /usr/share/nginx/html/phpinfo.php