第二节:iOS 安装包-上传

[toc]

iOS 安装包2-上传

image-20210123122550446

image-20210123122846919

一、ApplicationLoader -> Transporter

1、ApplicationLoader(新版本的xcode11后不再提供)

以前:使用Application loader上传安装包。

现在:升级xcode11后,你会发现找不到Application loader这个工具了。(附:实际上Application loader只是对altool的封装。)
去查看xcdoe11的更新说明,有这样一段话

Xcode supports uploading apps from the Organizer window or from the command line with xcodebuild or xcrun altool. Application Loader is no longer included with Xcode. (29008875)

2、Transporter

ApplicationLoader不能使用了,那我们使用什么。苹果在2019年10月份上线了Transporter

在 App Store Connect 中创建 App 记录后,您便可以通过 Xcode、macOS 版 Transporter 或 altool 上传构建版本。其界面如下:

image-20200921095227639

如果您使用 App Store Connect API,则建议您通过命令行工具 Transporter 和 JSON 网络令牌(JWT)验证来上传二进制文件。用于 API 的 JWT 也可以用于上传二进制文件。

二、xcrun altool

Xcode11前:旧版本的altool只支持ipa、pkg的上传。

xcode11后,新版本的altool在旧版本的基础上,额外支持了各种文件压缩包的上传,应该就是mac、ipad、iphone应用和其他相关打包产物的集合包。

altool 位于:/Applications/Xcode.app/Contents/Developer/usr/bin/altool

altool位置

1、查看xcrun altool的用法

终端执行xcrun altool命令,可见其命令用法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
MacBook-Pro:~ $ xcrun altool
Copyright (c) 2009-2019, Apple Inc. Version 4.00.1181

Usage: altool --validate-app -f <file> -t <platform> -u <username> {[-p <password>] | --apiKey <api_key> --apiIssuer <issuer_id>}
altool --upload-app -f <file> -t <platform> -u <username> {[-p <password>] | --apiKey <api_key> --apiIssuer <issuer_id>}
altool --notarize-app -f <file> --primary-bundle-id <bundle_id> -u <username> {[-p <password>] | --apiKey <api_key> --apiIssuer <issuer_id>} [--asc-provider <provider_shortname>]
altool --notarization-info <uuid> -u <username> {[-p <password>] | --apiKey <api_key> --apiIssuer <issuer_id>}
altool --notarization-history <page> -u <username> {[-p <password>] | --apiKey <api_key> --apiIssuer <issuer_id>} [--asc-provider <provider_shortname>]
altool --list-apps -u <username> {[-p <password>] | --apiKey <api_key> --apiIssuer <issuer_id>}
altool --store-password-in-keychain-item <name_for_keychain_item> -u <username> -p <password>

Authentication: Most commands require authorization.
There are two methods available: user name with password, and apiKey with apiIssuer.

-u, --username <username> Username. Required to connect for validation, upload, and notarization.
-p, --password <password> Password. Required if username specified and apiKey/apiIssuer are not.
If this argument is not supplied on the command line, it will be read from stdin.
Alternatively to entering <password> in plaintext, it may also be specified using a '@keychain:'
or '@env:' prefix followed by a keychain password item name or environment variable name.
Example: '-p @keychain:<name>' uses the password stored in the keychain password item named <name>.
You can create and update keychain items with the
--store-password-in-keychain-item command.
Example: '-p @env:<variable>' uses the value in the environment variable named <variable>

--apiKey <api_key> apiKey. Required for JWT authentication while using validation, upload, and notarization.
This option will search the following directories in sequence for a private key file
with the name of 'AuthKey_<api_key>.p8': './private_keys', '~/private_keys', '~/.private_keys',
and '~/.appstoreconnect/private_keys'.
--apiIssuer <issuer_id> Issuer ID. Required if --apiKey is specified.

-f, --file <file> <file> specifies the path to the file to process.
-t, --type {osx | ios | appletvos} Specify the platform of the file.

--primary-bundle-id <bundle_id> Used with --notarize-app to uniquely identify a package.

--asc-provider <provider_shortname> Required with --notarize-app and --notarization-history when a user account is associated with multiple
providers.

-v, --validate-app Validates an app archive for the App Store. Authentication and -f are required.
--upload-app Uploads the given app archive to the App Store. Authentication and -f are required.
--list-apps Display all apps associated with your account(s).

--notarize-app Uploads the given app package, dmg or zip file for notarization. Authentication, -f,
and --primary-bundle-id are required. --asc-provider is required for an account associated with multiple providers.
If successful, the UUID associated with the upload is returned.

--notarization-info <uuid> Returns the status and log file URL of a package previously uploaded for notarization with the specified <uuid>.
Authentication is required. The log file can be retrieved with 'curl <log_file_url>'.

--notarization-history <page> Returns a list of all uploads submitted for notarization. <page> specifies a range of entries where 0
returns the most recent number of entries. A new page value will be returned which can be used as the
<page> value to the next use of --notarization-history and so forth until no more items are returned.
Authentication is required. --asc-provider is required for an account associated with multiple providers.

--store-password-in-keychain-item <name_for_keychain_item> -u <username> -p <password>
Stores the password <password> in the keychain item named <name_for_keychain_item> associated with the account <username>.
If an item with that name and account already exists in the keychain, its password will be updated. Otherwise a new item
is created with that name. You can use this keychain item with the -p option to mask your password with other commands.
Example: altool --store-password-in-keychain-item MY_SECRET -u jappleseed@apple.com -p "MyP@ssw0rd!@78"
altool --notarize-app -u jappleseed@apple.com -p @keychain:MY_SECRET [...]

--output-format {xml | normal} Specifies how the output is formatted. 'xml' displays the output in a structured format; 'normal' displays in
an unstructured format (default).

--verbose Enable logging output.

-h, --help Display this output.

2、查看ipa包验证和上传使用的xcrun altool命令

我们主要看两个命令:

1
2
Usage: altool --validate-app -f <file> -t <platform> -u <username> {[-p <password>] | --apiKey <api_key> --apiIssuer <issuer_id>}
altool --upload-app -f <file> -t <platform> -u <username> {[-p <password>] | --apiKey <api_key> --apiIssuer <issuer_id>}

三、xcrun altool验证上传(方式1:username+password方式)

将我们查看到的两个命令:

1
2
Usage: altool --validate-app -f <file> -t <platform> -u <username> {[-p <password>] | --apiKey <api_key> --apiIssuer <issuer_id>}
altool --upload-app -f <file> -t <platform> -u <username> {[-p <password>] | --apiKey <api_key> --apiIssuer <issuer_id>}

使用 username+password 方式 改为最终的形如:

1
2
xcrun altool --validate-app -f ../output/Debug-iphoneos/Runner/Runner.ipa -t ios --verbose -u 账号 -p 密码
xcrun altool --validate-app -f ../output/Debug-iphoneos/Runner/Runner.ipa -t ios --verbose -u 账号 -p 专用密码

1、问题1Please sign in with an app-specific password

1.1、错误详情及分析

使用非专用密码时候的错误截图如下: image-20200918190110153

提示信息:Please sign in with an app-specific password. You can create one at appleid.apple.com 。这是因为自己账号开启了二重验证,所以这里的密码不能使用原始的明文密码,而应该使用专用密码。

1.2、创建生成专用密码

解决办法:在Apple官网https://www.apple.com.cn/登陆你的账号,并进入”管理你的Apple ID“。

image-20200918185022063

在管理密码的地方有一个App专用密码,点击Generate an App-Specific Password,生成专用密码。

image-20200918185328249

1.3、管理生成的专用密码

点击”查看记录“,可查看管理过往专用密码。

image-20200918185521612

2、问题2Invalid Provisioning Profile. The provisioning profile included in the bundle com.dvlproad.autopackage [Payload/Runner.app] is invalid.

使用专用密码,进行

1
xcrun altool --validate-app -f ../output/Debug-iphoneos/Runner/Runner.ipa -t ios --verbose -u 12345678@qq.com -p lnaa-xxxx-yyyy-zzzz

出现了新错误,新错误截图如下: image-20200918190727435

原因:

1、你打出来的包不是生产环境,比如你打的是dev环境

2、

四、xcrun altool验证上传(方式2:apiKey+apiIssuer方式)

xcrun altool有双重认证限制后,不能直接使用账号密码了,只能使用新的-apiKey 、–apiIssuer。

所以,最终的验证、上传的两个命令形如:

1
2
3
xcrun altool --validate-app -f xxx/xxx/xxx.ipa -t ios --apiKey xxxxxxxx --apiIssuer xxxxxx --verbose  --output-format xml

xcrun altool --upload-app -f xxx/xxx/xxx.ipa -t ios --apiKey xxxxxxxx --apiIssuer xxxxxx --verbose --output-format xml

2个命令分别对应 验证IPA 和 上传IPA,都需要使用3个参数ipa路径apiKeyapiIssuer

①、ipa路径:用xcodebuild打包或用OrganizerExport导出的App store包。

②、apiKeyapiIssuer需要去开发者官网-用户和访问-密钥-去新增。

1、准备xcrun altool上传参数中的apiKey和apiIssuer

1.1、创建生成apiKey和apiIssuer

apiKeyapiIssuer需要去开发者官网-用户和访问-密钥-去新增。如下图流程

新增一个密钥,名称和访问者可以自由填写

img

生成完成后,IssuerID就是apiIssuer,密钥ID就是apiKey,并且还有一个API密钥可以下载。注意此秘钥文件只能下载一次,请妥善保存

img

1.2、下载保存apiKey和apiIssuer

创建生成apiKey和apiIssuer后,按照我们之前在终端执行的xcrun altool命令提示有如下说明:

1
2
3
4
5
--apiKey <api_key>        apiKey. Required for JWT authentication while using validation, upload, and notarization.
This option will search the following directories in sequence for a private key file
with the name of 'AuthKey_<api_key>.p8': './private_keys', '~/private_keys', '~/.private_keys',
and '~/.appstoreconnect/private_keys'.
--apiIssuer <issuer_id> Issuer ID. Required if --apiKey is specified.

即:我们需要把刚才下载好的密钥文件放到这里面的其中一个文件夹里,它会按顺序去查找。

这里我们就选择~/private_keys这个位置吧,即在自己用户目录下/Users/xxx/private_keys新建了个private_keys文件夹,并把密钥文件放进去的。

2、使用xcrun altool验证上传

在确定完ipa包验证和上传使用的xcrun altool命令和上传参数中的apiKey和apiIssuer后,我们就可以开始使用xcrun altool验证上传了。

2.1、xcrun altool验证

验证结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2019-11-13 11:36:56.773 altool[3970:100440] Deallocating <ITunesSoftwareServiceWorkSeriesFactory: 0x7fa5d6d06610>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>os-version</key>
<string>10.14.6</string>
<key>success-message</key>
<string>No errors validating archive at '/Users/xxx/Desktop/altools.ipa'</string>
<key>tool-path</key>
<string>/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework</string>
<key>tool-version</key>
<string>4.00.1181</string>
</dict>
</plist>
2019-11-13 11:36:

等到提示No errors validating archive at xxx时就代表验证成功了,可以上传了。

4.2、xcrun altool上传

上传结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2019-11-13 11:49:55.382 altool[4093:102055] [2019-11-13 11:49:55 CST] <main> DBG-X: Returning 0
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>os-version</key>
<string>10.14.6</string>
<key>success-message</key>
<string>No errors uploading '/Users/xxx/Desktop/altools.ipa'</string>
<key>tool-path</key>
<string>/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework</string>
<key>tool-version</key>
<string>4.00.1181</string>
</dict>
</plist>

等到提示No errors uploading时就代表上传成功了。

五、上传结果的查看

可以去开发者中心-活动里面查看一下是否有构建版本
img

第一节:iOS 安装包-编译&打包

[toc]

iOS 安装包-编译&打包

error1_nosigningcer

原因:本地钥匙串中缺少iOS发布证书,即缺少Apple Distribution: xxx Co.,Ltd. (yyy)

error1_nosigningcer_solve

小技巧,为了减少命令编译的错误次数,我们可以使用XCode的界面操作先自己编译导出一次。

如下,在导出的时候遇到如下错误。

error3_noprofiles

自动打包时候,自动更新添加进去的设备~/Library/MobileDevice/Provisioning Profiles

进入~/Library/MobileDevice/Provisioning Profiles查看证书文件,

参考文章:自动打包时候,自动更新添加进去的设备

Provisioning profile实际上包含了Device ID,因此更新Provisioning profile就可以更新Device ID。根据xcode编译提示在archive阶段加入了-allowProvisioningUpdates这个参数的,应该会自动更新。

实时新增用户反馈132例,请相关同事注意。

​ 类型:用户反馈

​ 普通用户反馈:117例

​ VIP用户反馈:15例

Charles

Charles

一、网路代理(抓包专用)

当你想抓取当前手机上所进行的网络请求的数据的时候,你可以添加将app的代理添加为你想要的PC的ip地址。

添加完后,即可在你的抓包工具上,看到这个app的每一步请求了。

举个例子如下,获取验证码(结果是不要太清楚):

image-20200824144004437

1
2


二、弱网模拟

1、选择Throttle Settings,设置弱网环境。

Throttling_01

可以选择已经设置好的网络条件,也可以自定义

Throttling_02

qrencode

[toc]

qrencode

前言

libqrencode是一个C语言编写的用来生成二维条形码的库,生成的二维条形码可以通过手机的CCD摄像机轻易的扫描出来。

一、qrencode的安装

qrencode编译需要libpng库,而libpng库依赖zlib库,所以得依次安装zlib、libpng、qrencdoe。

1、从http://zlib.net/下载zlib库

1
2
3
4
进入文件夹
./configure
make
make install

2、从http://www.libpng.org/pub/png/libpng.html下载libpng

1
2
3
4
进入文件夹
./configure
make
make install

3、从http://fukuchi.org/works/qrencode/ 下载qrencode

1
2
3
4
进入文件夹
./configure
make
make install

zlib下载

zlib安装

二、使用qrencode命令生成二维码

使用举例,在当前目录下,生成一张内容为https://baidu.com,命名为baiduhome_qrcode.jpg的二维码图片。

则在终端执行的命令如下:

1
qrencode -o ./baiduhome_qrcode.jpg "https://baidu.com"

End

至此,在终端使用qrencode命令生成二维码的介绍结束。感谢阅读。

第1节:yapi在云服务器ECS上的使用-阿里云

[toc]

yapi在云服务器ECS上的使用-阿里云

一、阿里云使用之yapi的安装与启动

1、阿里云使用之yapi的安装

阿里云使用之yapi的安装,由于我们使用的云服务器ECS是CentOS系统,所以详细的安装方法,请进入前文中的yapi的安装文档

2、阿里云使用之yapi的启动

因为yapi是使用9090端口,所以,我们需要先进入安全组,添加9090端口配置

ecs_use_1safe_1

添加9090端口

ecs_use_1safe_2

添加后,我们执行yapi server,就可以通过 ip:9090 来访问ypai了(注意要先开启yapi server不然也是无法进入的)。访问效果如图:

yapi平台部署

image-20201118135248693

初始化管理员账号成功,账号名:”admin@admin.com“,密码:”ymfe.org”

image-20201118135556799

启动后的yapi首页

二、保持yapi的一直运行/如何让node app的程序一直运行?

1、发现问题:yapi在启动后如果关闭窗口链接,服务也会关闭。

我们在浏览器中关闭之前成功远程连接,并操作yapi的阿里云网页。刷新界面,发现访问不了了。

image-20201118214600778

2、解决问题:

既然关掉终端,程序也关闭了,那如何让node app的程序一直运行?

2.1、使用forever方式

1.判断是否安装了forever

1
2
# 终端执行
forever

2.如果未安装forever,则执行如下命令安装

1
npm install -g forever

image-20201118214438568

3.使用forever开启nodejs程序

1
2
forever start xxx.js
forever start vendors/server/app.js

image-20201118215600200

如果你需要用npm start来运行你的程序,则用命令
forever start -c “npm start” 路径

4.如果不需要一直运行nodejs程序

1
forever stop xxx.js

image-20201120104129192

forever 使用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 作为前台任务启动
$ forever server.js

# 作为服务进程启动
$ forever start app.js

# 停止服务进程
$ forever stop Id

# 重启服务进程
$ forever restart Id

# 监视当前目录的文件变动,一有变动就重启
$ forever -w server.js

# -m 参数指定最多重启次数
$ forever -m 5 server.js

# 列出所有进程
$ forever list

2.2、使用crontab方式

目前自己未实践过。

三、云服务器重启的时候的yapi各项服务处理

mongoDB 和 yapi 都会断掉,需要重新启动。请按顺序启动。

1、重启 MongoDB,并后台运行

1
2
3
4
5
cd CQApp-api-mongodb/

ls

mongod --dbpath ./data --logpath ./log/mongo.log --fork

image-20201120103328979

2、重启yapi,并始终后台运行

1
2
# 原本是 node vendors/server/app.js
forever start vendors/server/app.js

初始化管理员账号成功,账号名:”admin@admin.com“,密码:”ymfe.org”

四、提交云服务器代码

想看本网站中的Git代码同步

大概步骤,摘要如下:

1
2
3
4
5
cd CQApp-api-mongodb/
git pull origin master
git add .
git commit -m "add api cardlist"
git push origin master

(node:33) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated

End

至此,利用yapi在云服务器ECS上的使用-阿里云介绍结束。

第1节:阿里云服务器ECS

[toc]

阿里云服务器ECS的使用

一、如何将云服务器ECS中的数据备份到本地

官网文档:https://help.aliyun.com/knowledge_detail/159174.html?spm=5176.13910061.sslink.7.43a04c92N9Smor

https://help.aliyun.com/knowledge_detail/159174.html?spm=5176.13910061.sslink.10.2c963ebfnNsH2V

二、手动搭建FTP站点(CentOS 7)

阿里云官网帮助文档:手动搭建FTP站点(CentOS 7)

image-20201120115313756

1
2
3
4
5
6
7
8
9
adduser lichaoqian
passwd lichaoqian

mkdir /root/ProjectTest
chown -R lichaoqian:lichaoqian /root/ProjectTest



ftp://121.196.63.236:3000

1、步骤一:安装vsftpd

1
2
3
4
yum install -y vsftpd
systemctl enable vsftpd.service
systemctl start vsftpd.service
netstat -antup | grep ftp

image-20201120105446990

vim /etc/vsftpd/vsftpd.conf

image-20201120112330288

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#除下面提及的参数外,其他参数保持默认值即可。

#修改下列参数的值
#禁止匿名登录FTP服务器
anonymous_enable=NO
#允许本地用户登录FTP服务器
local_enable=YES
#监听IPv4 sockets
listen=YES
#在行首添加#注释掉以下参数,关闭监听IPv6 sockets
#listen_ipv6=YES

#添加下列参数
#设置本地用户登录后所在目录
local_root=/root/Project
#全部用户被限制在主目录
chroot_local_user=YES
#启用例外用户名单
chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录
chroot_list_file=/etc/vsftpd/chroot_list
#开启被动模式
pasv_enable=YES
allow_writeable_chroot=YES
#本教程中为Linux实例公网IP
#pasv_address=<FTP服务器公网IP地址>
pasv_address=121.196.63.236
#设置被动模式下,建立数据传输可使用的端口范围的最小值
#pasv_min_port=<port number>
pasv_min_port=50000
#设置被动模式下,建立数据传输可使用的端口范围的最大值
#pasv_max_port=<port number>
pasv_max_port=50010

image-20201120113245620

End

至此,利用阿里云服务器ECS的使用介绍结束。

第1节:阿里云oss上传

[toc]

阿里云oss上传

前言

要使用阿里云进行OSS的任意服务,如上传,您都必须先开通阿里云OSS服务。

详细的阿里云对象存储OSS的帮助文档请通过阿里云帮助主页https://help.aliyun.com/,进入[对象存储OSS帮助页](https://help.aliyun.com/product/31815.html?spm=a2c4g.11186623.6.540.4ef91c62fkTyj7)进行查看。从[开始使用阿里云OSS](https://help.aliyun.com/document_detail/31883.html?spm=a2c4g.11186623.6.608.3f6440afB2c3Po)开始阅读。

整体的操作步骤大概如目录描述如下:

image-20200917172847512

一、阿里云OSS服务的开通

详细的创建过程请看帮助文档开通OSS服务

大概的意思为:

  1. 登录阿里云官网

  2. 将鼠标移至产品,单击对象存储 OSS,打开 OSS 产品详情页面。

  3. OSS 产品详情页,单击立即开通

  4. 开通服务后,在 OSS 产品详情页单击管理控制台直接进入 OSS 管理控制台界面。

    您也可以单击位于官网首页右上方菜单栏的控制台,进入阿里云管理控制台首页,然后单击左侧的对象存储 OSS 菜单进入 OSS 管理控制台界面。

ossutil

image-20200917172348782 image-20200917172605845

二、使用OSS管理控制台创建用于文件存储的存储空间

详细的创建过程请看帮助文档使用OSS管理控制台创建存储空间的帮助文档

大概的意思为:

  1. 登录OSS管理控制台

  2. 单击Bucket列表,之后单击创建Bucket

    您也可以单击概览,之后单击右侧的创建Bucket

  3. 创建Bucket页面配置Bucket参数。

Bucket 名称:设为例如autopackage即可。

image-20200918103630889

创建后,可进入”查看Bucket列表“对指定的Bucket进行想要的操作。

image-20200918104910122

三、进入存储空间进行文件上传(方式1:通过OSS管理控制台上传)

如我们进入我们刚才创建的’autopackage’这个bucket。然后为其进行文件上传操作。

image-20200918104801357

文件管理的界面如下:

image-20200918105842709

我们拖动一张图片,进行上传尝试如下:

image-20200918110106103

四、进入存储空间进行文件上传(方式1:通过终端命令上传)

1、安装命令行工具ossutil

详细请查看OSS命令行工具的下载和安装的帮助文档

image-20200918112644521

2、配置 ossutilmac64 config

执行 ./ossutilmac64 config的时候,需要我们输入配置信息,要输入的配置信息,如下:

image-20200918113809174

①请输入配置的文件名,直接回车,以使用默认的.ossutilconfig

②请输入语言(CH/EN),直接回车,以使用默认的CH

③请输入endpoint,填写我们创建的bucket上的oss,注意不要写成http开头的

④请输入accessKeyID,这一步,我们需要回到阿里云OSS首页,通过常用入口,找到Access Key的入口。

image-20200918113458670

进入Access Key的创建和管理,进入后并创建AccessKey后的页面显示为:

image-20200918114734684

则我们将创建好的信息,在执行./ossutilmac64 config的终端补充上去。其就会为我们生成组中的.ossutilconfig文件。

image-20200918115525237

3、通过终端命令,上传文件

配置后,我们通过通断命令,上传文件,终端命令及上传结果显示如下。

1
./ossutilmac64 cp 1.jpg oss://autopackage/test1.jpg

image-20200918120044242

五、检查上传文件的访问权限

1、不检查访问权限,则可能出现的问题

上传完文件后,我们经常需要允许可以访问。所以,这里我们要检查访问权限。

如果不检查,可能会遇到当你在通过相机扫描二维码的时候,出现无法访问的提示。

image-20200918155227902

2、检查访问权限的方法

例如在如上,我们已经通过OSS管理控制台上传了一张1.jpg的图片。现在进行访问测试。

我们将该图片的地址:https://autopackage.oss-cn-hangzhou.aliyuncs.com/1.jpg 输入到浏览器中,

结果如下:

image-20200918154655554

其提示我们为权限问题,则我们进入autopackage这个bucket,将原本的读写权限从”私有“改成”公共读“。

image-20200918154826176

然后,重新刷新刚才的图片地址即可。

End

至此,利用阿里云OSS上传文件的操作介绍结束。

第1节:阿里云服务器ECS

[toc]

阿里云服务器ECS

一、购买服务器ECS

1、进入 阿里云开发者试用中心https://free.aliyun.com

ecs_buy_free

2、选择服务器

操作系统选择常见的系统,如CentOS 8.2的(之前用CentOS 8.4的,结果安装mongodb的时候只找到8.2的版本)

ecs_buy_2

3、下单

ecs_buy_3

4、购买支付

ecs_buy_4

至此,购买成功。

二、主页

我的云服务器ECS资源

ecs_main1

三、远程桌面连接

远程连接方式有以下几种方式

image-20210804140640136

如何正确的远程连接方式 请直接调到第四步。

1、错误1:通过公网IP或者EIP访问实例增加Workbench的服务器白名单:

1.1、发现错误

Windows用户需要隶属于Remote Desktop Users组才能使用RDP远程登录

通过公网IP或者EIP访问实例增加Workbench的服务器白名单:
47.96.60.0/24
118.31.243.0/24

image-20201117155701566

1.2、解决错误

解决办法:

鼠标放在在阿里云右上角 账号头像 上 ,然后找到 “安全管控”

然后在左侧上找到“\IP白名单**

如下图所示添加上面的两个iP进白名单即可。

image-20201117155550649

添加白名单

image-20201117160123181

两个都添加后,

image-20201117160242381

如果还不能连接,请检查安全组端口

image-20201117102103027

2、实际上正确的远程连接需要安装远程桌面服务

image-20201117165745806

四、正确的远程连接方式

远程连接的几种方式

ecs_connect_vnc1

1、Workbench方式连接

image-20210804144528676

2、VNC方式连接

2.1、VNC方式连接(默认进入的是终端界面)

选择VNC,输入远程连接的密码(这里不是不是root对应的密码),如Login1

ecs_connect_vnc2

之后进入终端界面,输入登录账号密码:

1
2
账号:root
密码:实例的登录密码(和ssh登录是一样的)

ecs_connect_vnc3

登录成功后,就可以输入其他终端命令来操作了。

2.2、将VNC的进入界面改成桌面形式/CentOS8如何安装图形界面

官网帮助文档:https://help.aliyun.com/knowledge_detail/151830.html?spm=5176.13910061.sslink.1.7a2d5d584Ps39h

安装命令如下:

1
2
3
yum groupinstall "Server with GUI" -y
systemctl set-default graphical
reboot

之后仍然选择VNC方式连接,连接后会发现进入的界面变成了以下样式

image-20201117171441762

之后和之前一样输入登录账号密码:

1
2
账号:root
密码:实例的登录密码(和ssh登录是一样的) // 如常用的8位密码

即可进入。

进入之后的页面如下:

image-20211221102404260

其他参考内容:

在Centos 6.x中,我们常使用rdesktop软件,去连接windows的远程桌面

但是在Centos 7.x中,默认的yum仓库中没有集成rdesktop软件包了

如果要在Centos 7.x中连接windows的远程桌面,可以有如下几种方法

1、通过其他yum仓库,或者其他方式安装rdesktop软件包,然后通过rdesktop -u username -p password IP 进行连接

2、安装GNOME桌面后,然后使用其自带的Remote Desktop Viewer通过RDP协议(也可以通过vinagre命令启动窗口)进行连接

3、安装freerdp软件包,然后使用xfreerdp x.x.x.x 进行连接

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

今天主要记录一下,如何通过freerdp软件包,去连接windows的远程桌面

1、直接使用yum命令即可完成安装,在[updates]仓库中就集成了freerdp

1
2
> [root@qq5201351 ~]# yum install freerdp -y           #也可以写freerdp软件包中的二进制文件xfreerdp
>

2、安装后,使用xfreerdp x.x.x.x 即可进行连接

1
2
> [root@qq5201351 ~]# xfreerdp 1.2.3.4                 #如果不是默认的tcp的3389端口,可以直接在ip后面加:port
>

注:软件包的名字为freerdp,但是其二进制的命令文件为xfreerdp

五、云服务器内部

登录到阿里云服务器ECS后

1、查看默认进入到的文件路径

1
2
pwd
ls

2、查看该文件所在的父文件的目录

1
2
cd ..
ls

image-20210803114919466

End

至此,利用阿里云服务器ECS购买及远程连接操作介绍结束。