RN集成到IOS的坑

4个文件,然后将其中的”localhost”改为你的电脑的IP地址

192.168.3.15

RCTWebSocketExecutor.m
RCTPackagerConnectionBridgeConfig.m
RCTInspectorDevServerHelper.mm
RCTBundleURLProvider.m
if (!host) {
//host = @”localhost”;
host = @”192.168.3.15″;

scheme = @”http”;
}

 

iOS原生混合RN开发*佳实践

做过原生iOS开发或者Android开发的同学们肯定也都了解Hybrid,有一些Hybrid的开发经验,目前我们企业开发中运用*广泛的Hybrid App技术就是原生与H5 hybrid,在早期的时候,可能部分同学也接触过PhoneGap等hybrid技术,今天我们就简单来聊下一种比较新的Hybrid技术方案,原生App与ReactNativie Hybrid。

示例Demo地址

  • 初级Demo示例
  • 高级Demo示例

具体步骤

  • 创建一个iOS原生项目
  • 将iOS原生项目支持pod
  • 调整目前项目工程的文件夹结构
  • 添加RN依赖相关文件
  • 安装React Native
  • 修改Podfile文件,原生安装React Native依赖库
  • 在iOS原生页面填加RN页面入口
  • 修改RN入口文件 index.ios.js
  • 执行npm start 运行项目

创建一个iOS原生项目

使用Xcode创建一个空的项目,这个应该不用多说了

项目支持pod

这一操作步骤同样也很简单,我们只需要执行下面的几条命令即可,如果对cocoapods 安装使用不熟悉的同学请参照作者简书

  • 创建podfile文件,我们在有xcodeproj文件的同级目录下执行下面命令,这时我们的项目文件中就多了一个Podfile文件
  1. $ pod init
  2. 复制代码
  • 执行pod install 命令来安装pod,同样,这个命令也是在有xcodeproj同级目录下,安装完成后,我们的项目多了一个
  1. $ pod install
  2. 复制代码

注意: 这里对原生iOS不熟悉的同学们需要注意了,当我们使用pod来作为库管理工具,后面我们打开项目运行,我们就需要打开上图所示的xcworkspace文件了

调整目前项目工程的文件夹结构

这里对文件夹做结构调整是为了后期更好的将Android原始项目也使用RN Hybrid,使iOS和Android共享一份React Native框架,共享同一份JS文件,调整的后的文件夹结构如下

添加RN依赖相关文件

到这里,我们原生的iOS项目目录结构已近调整完毕,后面我们需要处理的都是RN相关的内容了,这里需要创建的文件有点多,大家可以直接将示例Demo中的这几个文件直接拖到自己的项目中,然后在做修改即可

  • 首先我们需要创建package.json文件
  • 创建index.ios.js文件
  • 创建index.android.js文件
  • 创建bundle文件夹,注意这个文件夹是后面我们接入CodePush热更新时使用的

安装React Native

安装React Native这个也很简单,我们也是简单的执行下面的命令即可,注意:执行npm 系列的命令,我们都需要在项目根目录(有package.json文件的目录)下执行

  1. $ npm install
  2. 复制代码

package.json文件内容如下

  1. {
  2. “name”: “iOSHybridRNDemo”,
  3. “version”: “0.0.1”,
  4. “private”: true,
  5. “scripts”: {
  6. “start”: “node node_modules/react-native/local-cli/cli.js start”
  7. },
  8. “dependencies”: {
  9. “prop-types”: “^15.6.1”,
  10. “react”: “16.0.0”,
  11. “react-native”: “0.50.3”,
  12. “react-native-code-push”: “^5.2.2”,
  13. “react-native-root-toast”: “^1.3.0”,
  14. “react-native-router-flux”: “^4.0.0-beta.24”,
  15. “react-native-simple-store”: “^1.3.0”,
  16. “react-native-storage”: “^0.2.2”,
  17. “react-native-vector-icons”: “^4.3.0”,
  18. “react-redux”: “^5.0.6”,
  19. “redux”: “^3.7.2”,
  20. “redux-actions”: “^2.2.1”,
  21. “redux-promise-middleware”: “^4.4.1”,
  22. “redux-thunk”: “^2.2.0”
  23. },
  24. “devDependencies”: {
  25. “babel-jest”: “22.4.1”,
  26. “babel-preset-react-native”: “4.0.0”,
  27. “jest”: “22.4.2”,
  28. “react-test-renderer”: “16.0.0”
  29. },
  30. “jest”: {
  31. “preset”: “react-native”
  32. }
  33. }
  34. 复制代码

注意:因为我们项目中使用到了react-native-vector-icons 这个iconFont组件需要依赖原生,所以我们执行完 npm install 之后,我们还需要 再执行一个 react-native link react-native-vector-icons 命令来安装原生依赖

  1. $ react-native link react-native-vector-icons
  2. 复制代码

当我们执行完npm install 命令之后,我们再打开项目目录,发现多了一个 node_modules 文件夹,这个文件夹就是我们安装的React Native所有的依赖库

修改Podfile文件,原生安装React Native依赖库

后面我们都是使用Pod来管理原生的依赖库,安装React Native依赖库,我们只需要将下面的Podfile文件中的内容添加进去,执行 pod install 安装即可

Podfile文件

  1. # Uncomment the next line to define a global platform for your project
  2. platform :ios, ‘9.0’
  3. # Uncomment the next line if you’re using Swift or would like to use dynamic frameworks
  4. # use_frameworks!
  5. target ‘iOSHybridRNDemo’ do
  6. # Pods for iOSHybridRNDemo
  7. #***********************************************************************#
  8. # ‘node_modules’目录一般位于根目录中
  9. # 但是如果你的结构不同,那你就要根据实际路径修改下面的`:path`
  10. pod ‘React’, :path => ‘../node_modules/react-native’, :subspecs => [
  11. ‘Core’,
  12. ‘RCTText’,
  13. ‘RCTImage’,
  14. ‘RCTActionSheet’,
  15. ‘RCTGeolocation’,
  16. ‘RCTNetwork’,
  17. ‘RCTSettings’,
  18. ‘RCTVibration’,
  19. ‘BatchedBridge’,
  20. ‘RCTWebSocket’,
  21. ‘ART’,
  22. ‘RCTAnimation’,
  23. ‘RCTBlob’,
  24. ‘RCTCameraRoll’,
  25. ‘RCTPushNotification’,
  26. ‘RCTLinkingIOS’,
  27. ‘DevSupport’
  28. # 在这里继续添加你所需要的模块
  29. ]
  30. # 如果你的RN版本 >= 0.42.0,请加入下面这行
  31. pod “yoga”, :path => “../node_modules/react-native/ReactCommon/yoga”
  32. #***********************************************************************#
  33. pod ‘RNVectorIcons’, :path => ‘../node_modules/react-native-vector-icons’
  34. end
  35. 复制代码

注意: #*************************# 中间的内容是我们需要添加的RN依赖库,后面我们所有pod 相关的命令,我们都需要iOS根目录(有Podfile文件的目录)下执行

  • 执行安装命令
  1. $ pod install
  2. 复制代码

在iOS原生页面填加RN页面入口

现在我就来实现从原生页面跳RN页面

  • 使用RN提供一个View视图代码如下
  1. NSURL * jsCodeLocation;
  2. #ifdef DEBUG
  3. NSString * strUrl = @“http://localhost:8081/index.ios.bundle?platform=ios&dev=true”;
  4. jsCodeLocation = [NSURL URLWithString:strUrl];
  5. #else
  6. jsCodeLocation = [CodePush bundleURL];
  7. #endif
  8. NSDictionary *params = @{@“componentName”:@“MeApp1”, @“args”:@{@“params”:@“这是原生传递的参数”}};
  9. RCTRootView * rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
  10. moduleName:@“iOSRN”
  11. initialProperties:params
  12. launchOptions:nil];
  13. self.view = rootView;
  14. 复制代码

修改RN入口文件 index.ios.js

修改RN页面的入口文件,这里当是iOS入口我们修改index.ios.js文件,当Android入口,我们修改index.android.js文件

  • index.ios.js文件
  1. import React, {Component} from ‘react’
  2. import {
  3. Platform,
  4. StyleSheet,
  5. Text,
  6. View,
  7. AppRegistry
  8. } from ‘react-native’;
  9. const instructions = Platform.select({
  10. ios: ‘Press Cmd+R to reload,\n’ +
  11. ‘Cmd+D or shake for dev menu’,
  12. android: ‘Double tap R on your keyboard to reload,\n’ +
  13. ‘Shake or press menu button for dev menu’,
  14. });
  15. type Props = {};
  16. export default class App extends Component<Props> {
  17. render() {
  18. return (
  19. <View style={styles.container}>
  20. <Text style={styles.welcome}>
  21. Welcome to React Native!
  22. </Text>
  23. <Text style={styles.instructions}>
  24. To get started, edit App.js
  25. </Text>
  26. <Text style={styles.instructions}>
  27. {instructions}
  28. </Text>
  29. </View>
  30. );
  31. }
  32. }
  33. const styles = StyleSheet.create({
  34. container: {
  35. flex: 1,
  36. justifyContent: ‘center’,
  37. alignItems: ‘center’,
  38. backgroundColor: ‘#F5FCFF’,
  39. },
  40. welcome: {
  41. fontSize: 20,
  42. textAlign: ‘center’,
  43. margin: 10,
  44. },
  45. instructions: {
  46. textAlign: ‘center’,
  47. color: ‘#333333’,
  48. marginBottom: 5,
  49. },
  50. });
  51. AppRegistry.registerComponent(‘iOSHybridRNDemo’, () => App)
  52. 复制代码

执行npm start 运行项目

到这里,我们一个简单的原生嵌入RN开发工程就搭建完成了,我们执行下面命令来运行项目,查看效果

  • 开启node 服务
  1. $ npm start
  2. 复制代码
  • 运行效果

给 Pixel 2 刷了 CalyxOS,大好于预期

手头的 Pixel 2 还是很好,可惜电池已经劣化了不少。昨晚刷了个 CalyxOS,pixel 2 应该是 Calyx 支持的*老机型了。刷机过程还是比较容易的,除了有一点点小坑。

刷完后,还挺好,蛮喜欢,毕竟是 De Google 的系统了。

  1. 自带一个 *,不用设置,直接可以使用
  2. 自带 F-Droid 市场和 Aurora 市场,前者可以下 FOSS 软件,后者则是 Google Play 的镜像,里面下载 app 搭配 Calyx 内置的 Micro G,可以正常使用。
  3. 丧失了 Pixel 的相机,告别了可以在黑暗里面拍照的夜景模式,这是个重大遗憾
  4. 双手捏机身启动自定义功能的功能也丧失
  5. 现在里面 Google 系只安装了 Google Photos
  6. 弃用 Gmail,Gmail 邮件用自带的 K-9 mail 客户端收发
  7. 弃用了 Google calendar 和 Google contact,由于早先就把这俩导入了自己搭建的 Nextcloud,用 Calyx 自带的 DavX5 连接了 Nextcloud 后,calendar 和 contact 同步成功。

总之,除了一点小缺憾,这个 Calyx 系统非常让人满意。过去这一年,开始了 De Google,De Big Tech 的进程,搭建了 Rocket Chat,搭建了 Nextcloud,现在手机也脱离了 Google 。搭建好 Nextcloud 后,并不知道它还真能担负起私有 calendar 和 contact 的同步任务,直到真的有一个 Calyx 手机里面的 DavX5 能这么顺畅地同步,才意识到我不多还赖在 Google 里面的只有 photos 了。其实 Nextcloud 已经负担起了储存照片的工作,但是 Google photos 对照片的自动整理,还是没有别的可以替代的。等我想通了,去 tm 的自动整理,也就可以离开 Google 了。邮件已经使用了 Protonmail,Disroot 和 Tutanota 。

所以 de big tech 也不是难得要命。另外 Calyx 刷好后,手机的电池表现有所提高。

 

20 条回复    2021-02-07 09:38:29 +08:00
mortal
    1

mortal   63 天前

Google Photos 还有 Pixel 特权吗?
q9OxQg
    2

q9OxQg   63 天前 via Android

@mortal 不知道。其次这是 pixel 2,不是 pixel
showgood163
    3

showgood163   63 天前

想问一下,LZ 在用 chrome 吗?有关于 chrome 的 de google 经验吗?
showgood163
    4

showgood163   63 天前

顺便,calyxos 在 op6 上没有支持,有些遗憾。。
q9OxQg
    5

q9OxQg   63 天前 via Android

@showgood163 抱歉没有太明白你的问题。Chrome de google 我觉得就是指在 Linux 里面用 Chromium 浏览器,我很久前这么做过,没有感觉有什么问题。后来我在任何平台上都不用直接的 Chrome 了,现在用 Firefox,只有 Firefox 有问题,*其偶尔在 win10 下用一会儿 edge 。手机端使用 Duckduckgo (用得应该是 Chromium 内核)浏览器。总之,浏览器放弃 Chrome 很容易,使用 Firefox 和其他用 Chromium 的浏览其就好了。我也集中使用过 Vivaldi 和 Brave 。
q9OxQg
    6

q9OxQg   63 天前 via Android   ❤️ 1

@showgood163 是的,CalyxOS 可能资源有限,开发集中在 Pixel 系列。Lineage 支持的机型多得多,刷机比 CalyxOS 要麻烦一点点。
vk42
    7

vk42   63 天前

@q9OxQg 除 1 代 Pixel,其它 Pixel 还有终身免费压缩画质上传,非 Pixel 的过一阵要占 Drive 空间了
q9OxQg
    8

q9OxQg   63 天前

@vk42 所以 Pixel 是终身无限原图上传,其他 Pixel 终身免费压缩画质上传,是吧?我来观察下这个刷过机的 Pixel 2 还是不是可以终身免费压缩画质上传。不过不想让 Google 学习了,还是准备弃 Google Photos,转 NextCloud 了。
showgood163
    9

showgood163   63 天前

@q9OxQg 我这没看到你的回复提示,不知道是哪边账号的问题。

我说的“de google”是指浏览器从 chrome 换成 ungoogled chromium 之后,由于没法使用 google 提供的同步服务,原始 chrome 中的书签,插件,用户设置等一系列用户数据如何同步的问题。

q9OxQg
    10

q9OxQg   63 天前 via Android   ❤️ 1

@showgood163 可能我的账号权限不够。我在 Linux 里面的 Chromium 浏览器里面,是看见可以登录 Google 的。但是这样就失去 de Google 的意义了。Firefox,Brave 和 Vivaldi 浏览器都有同步功能。我记得 Vivaldi (还是 Brave )的同步还多了个解密码,也就是说,要同步,先登录 Vivaldi 账号,还不够,还要再输入个解密码。所以,你可以试试把 chrome 里面的这些导出,导入到那些浏览器里面,然后开同步。我记得 Brave 浏览器还能每次打开改变一次浏览器指纹,对于对抗追踪有裨益的。
showgood163
    11

showgood163   63 天前

@q9OxQg OK.感谢回复
monetto
    12

monetto   63 天前

* 直接就可以用吗?可以访问 Facebook ?
gaoshiba
    13

gaoshiba   63 天前

看官网发现只有 pixel 有,仔细一看小米 a2 也有,他喵的我是小米 6x,心累。
q9OxQg
    14

q9OxQg   63 天前

@showgood163 不客气,我不是 IT 专业,但是对数码和 IT 的兴趣浓厚。所以在这些方面,可能更能用,以及理解一些有 IT 爱好的普通人的想法和说法。考虑和叙述问题和想法还有角度就偏普通人。如果有不对和不专业的用词和看法,请大家包涵。
q9OxQg
    15

q9OxQg   63 天前   ❤️ 1

@monetto 我不在中国大陆,无法测试。
我可以说的是,刷好机后,里面是内置了两个 * 的,一个是就叫 Calyx *,傻瓜式,在我这里可以直接使用,无需任何配置,就是点击一下开关,应该是 CalyxOS team 的义务服务器,速度 xxxk 的样子。另外一个叫 Riseup *,我刚刚试了一下,也是傻瓜式直接可用,速度类似。以前我在境内时,我记得 Riseup * 也是可以连上,但是速度好像在 xk 到 xxk 的样子,不知道现在怎么样。Calyx * 没有在境内试过,我觉得如果它内核不是很明目张胆的被封禁的协议的话,那它应该就比较小众,有可能可以直接使用。
有了 *,FB 当然可以访问,你用它内置的 Duckduckgo 浏览器或者 Chromium 都应该可以。如果要下载 app,那你要记得在刷机刚刚好,开机推荐 app 时,勾选安装 Aurora Market (算是 de Google 的 Google Play ),在里面找 FB 的 app 。顺便提一下更加 FOSS 的是手机里面的 F-Droid,但是我想 F-Droid 不会有 FB 的 app 的。
q9OxQg
    16

q9OxQg   63 天前

@gaoshiba 是的。我看了下 Reddit 里面的 CalyxOS 的板块,也有人惋惜 CalyxOS 的适配机型太少。CalyxOS 的 leader 的说辞是,CalyOS 主打隐私,兼顾安全。所以他们适配的机型都是刷好了 CalyxOS,还能把 Bootlocker 重新锁上的机型。事实上,刷好机开机后,它还真提醒你去 Setting 里面把 Bootlocker 锁回去。我一开始没有找到在哪里,在 Reddit 发问,才有人提醒去把开发者模式再次打开,就可以去 system 里面关闭 BootLocker 了。
我刷机在 Linux 里面刷的,如果你们按教程刷的话,记得一开始不要连手机,等把刷机命令执行了以后,电脑忙一会儿,出了 4 条操作提示后,再把手机连上电脑,这是我遇到的唯一的坑,更早连手机是进行不下去的。其他就是一定要细读电脑上和手机上的每句指示,不要想当然操作。我没有遇到其他任何困难。
monetto
    17

monetto   62 天前

@q9OxQg 感谢~
顺便再问一下驱动支持情况如何?该有的驱动都有吗?相机清晰度之类的~
q9OxQg
    18

q9OxQg   62 天前 via Android

@monetto 没有任何问题。相机要去下载合适的 Google camera apk,能回到原来水平,否则自带相机就太阳春了,夜景模式也没了。硬件方面少了一样,pixel 2 的捏一下机身来启动快捷方式丢失了。
11dad
    19

11dad   60 天前

@q9OxQg active edge 还在呀
q9OxQg
    20

q9OxQg   60 天前

@11dad 是的,可能刚刚刷好时我捏的不够用力… 我应该来澄清下的。

可否将安卓手机作为网络电视的机顶盒?

拉开抽屉,一堆的旧手机,都是安卓机。闲置着,很可惜。
可否将这些安卓手机,作为网络电视的机顶盒?

24 条回复    2021-02-07 16:36:39 +08:00
liusir
    1

liusir   63 天前

理论可以,但是缺遥控
BigDogWang
    2

BigDogWang   63 天前

缺遥控+hdmi 端子
CBS
    3

CBS   63 天前

可以

HDMI 可以解决,具体自己 JD 搜索转界线,不过现在的很多手机不支持了

遥控可以用小爱同学,支持全程语音控制,所有按钮都有编号,包括上滑下滑的操作

另外,推荐自己买个电视盒子,一百多。二手网站有破解的更便宜。

hanxiV2EX
    4

hanxiV2EX   63 天前   ❤️ 3

卖了,买一个电视盒子
AoTmmy
    5

AoTmmy   63 天前 via Android

4 楼正解
shifttacn
    6

shifttacn   63 天前

码字码到一半看到 4 楼。。。。
0bug
    7

0bug   63 天前

前段时间买了个 x96 刷成了游戏机。。。
zzzmh
    8

zzzmh   63 天前

还可以当 linux 服务器 搞个 ddns
AndyZhuAZ
    9

AndyZhuAZ   63 天前

Z5P 之前的索尼可以直接连线直接用
![Dh3fXUeI8mAgQ5k]( https://i.loli.net/2021/02/03/Dh3fXUeI8mAgQ5k.png)
allyn
    10

allyn   63 天前

可以的,用无线投屏就行
Cheons
    11

Cheons   63 天前 via Android

可以 xperia pro 甚至给你准备好了 HDMI 接口
holystrike
    12

holystrike   63 天前

遥控可以靠吼 [doge]
FreshUncle
    13

FreshUncle   63 天前

有一款遥控,是蓝牙的,可以试试
ryh
    14

ryh   63 天前

遥控好解决,用另一个手机当 *手动滑稽
ZeroSimple
    15

ZeroSimple   63 天前 via Android

Sony 有一款防水的蓝牙遥控器,淘宝几十块, 支持语音。我就有一个
huobazi
    16

huobazi   63 天前

二百块就能买个不错的盒子,用手机为咩呢?
annielong
    17

annielong   63 天前

用无线投屏,但是电源和发热是大问题,
systemcall
    18

systemcall   63 天前

遥控好解决,小米盒子的蓝牙遥控可以支持安卓手机
如果是支持 MHL 或者 Type-C DP Alt Mode 的手机,就可以解决视频输出的问题
但是没有多大意义,还不如买个盒子,并不会便宜多少,反而一大堆的麻烦
安卓系统造就了巨大的资源浪费,这些 2-3 年就过时了的安卓手机没有多少用了,可能还可以给黑产用用吧,跑微信群控之类的
wqsong
    19

wqsong   62 天前

闲鱼淘一个 坚果 pro2s 它是性价比*低的带全功能 tpye-c 3.1 接口 (带图形输出和触摸输出) 成本 500 以内
chnnhhh
    20

chnnhhh   62 天前

推荐人家买盒子的各位。。明显 lz 是为了好玩不是为了省钱吧。。
systemcall
    21

systemcall   62 天前

@chnnhhh 那就买个 ARM 的板子,用 ARM 的板子做无线显示器,之后手机再连上去。如果技术够的话,把蓝牙 HID 也实现,就解决了输入问题
树莓派的文档比较全,但是国产山寨板子文档很少,还有很多是错的。如果喜欢挑战自我的话,可以去买国产的板子来做。带 HDMI 的板子也不贵
不过这种低能的设备,把本来就不清楚的视频来回的编码、解码搞几遍,怕是看都看不清楚了。说真的,不如买个盒子。我以前也想把旧手机用起来,发现真的没什么用,旧的盒子也是。本来硬件上就是专用的,缺这缺那,而且加上没有文档和启用了 Secure Boot,连自制固件都基本上不可行,只能当垃圾。如果 eMMC 稍微大点也许可以拆下来做个 U 盘,只有这个似乎有点用处。屏幕虽然有些设备是相对标准的 MIPI-DSI 之类的,但是也不好驱动,而且毕竟是专用的东西,你也不好集成到自己的东西里面。摄像头是 MIPI-CSI 的多些,驱动也好找些,但是用处没多大,没有后盖上的玻璃和手机其他部分组成的相对而言密封的环境,灰尘是一大考验
fox0001
    22

fox0001   61 天前 via Android

可以用蓝牙手柄做遥控。不过,总体来说,很鸡肋。。。
fox0001
    23

fox0001   61 天前 via Android

@wqsong #19 需要买个“typec 转 HDMI”吧?
iamthy
    24

iamthy   59 天前

买了一个乐视的遗产电视盒子不到 100,2g 内存的,可以安装 app,看电视不要太流畅,后面还涨价了,别说乐视的硬件产品质量还可以

腾讯云、阿里云、百度云香港云服务器【对比】

除了内地云服务器外,香港云服务器也是个不错的选择,主要可以免备案,这样一来内容发布上限制就减少了很多。当然了内容还是要是健康的,这个是不能违反的。目前大家常拿来对比的香港云服务器主要就是阿里云、腾讯云、百度云的香港云服务器。具体各家情况如何呢?

腾讯云香港云服务器本
腾讯云的香港云服务器可以说是目前三个前云里活动*多*好的。目主要2款,一款是2G内存,一款是1G内存的。个人博客1G其实就够了。如果想要提高带宽就得去买1-3年那种,现在有折扣。一年期活动目前就这2款了。
腾讯云香港云服务器2M带宽的我拿来和阿里云298那款香港虚拟主机1M的跑了下速度,5次测试*快速度都是阿里云优先,平均速度4次阿里云优先,*慢就1次腾讯云优先。我猜阿里云的298那款虚拟主机应该用的是ECS为基础的。没办法,想多建站,还想价格便宜就只能先选腾讯云了。阿里云虽好,可ECS款的香港云服务器真的贵。如果你不考虑多建站,建议买阿里云298那款虚拟主机。
阿里云香港云服务器
阿里云香港云服务器分2种,一种的20%突发性t5,一种是100%通用ECS。价格上t5的价格和腾讯云促销的香港云服务器1核1G1M的差不了多少。但是不建议购买t5,一般的个人博客算是够用,但是和ECS比差不少。阿里云香港云服务器通用ECS价格真的不便宜。可以说阿里云香港云服务器价格贵的这款,算是三个云里*好的。

*次使用云服务器

阿里云服务器手记
一、购买阿里云服务器,开通安全组:端口映射
二、获取服务器的公网ip地址
三、环境搭建

一、购买阿里云服务器,开通安全组:端口映射
在云服务器哪里配置安全组-配置规则-添加需要的安全组规则(开放端口)-重启服务器

二、获取服务器的公网ip地址
购买服务器后会收到

三、环境搭建
宝塔面板
宝塔面板安装教学
根据自己的Linux系统版本安装下载后获得一个宝塔面板
注:记住url地址、用户名、密码
使用url地址、用户名、密码登录宝塔面板
然后可以装自己的环境了。

在云服务器上快速搭建个人网站

1.购买实例

%title插图%num

2.选择镜像市场

%title插图%num %title插图%num

3.设置root密码

%title插图%num %title插图%num

4.根据你前面选择的WordPress镜像市场说明,配置安全组

%title插图%num %title插图%num %title插图%num %title插图%num

5.然后,复制公网ip到浏览器地址打开

%title插图%num

6.点击“获取权限”,下载文件后,打开,根据里面的内容登陆WordPress网站后台即可。

%title插图%num %title插图%num

找一个靠谱的香港主机放网站

自己有一个地区性的论坛,流量不大,现在放在日本 linode ,*近卡成翔了,放大陆备案什么的太麻烦,网警还天天打电话说这个不能发那个不能发,所以想放在香港,有没有经验丰富的朋友介绍下香港的 VPS ,就放个 wordpress ,现在用主机挂代理的好多,都不能好好放网站了唉。。。。

villaye 1
villaye 2016-08-31 08:56:17 +08:00
阿里云
Sharuru 2
Sharuru 2016-08-31 09:00:20 +08:00
可以尝试下主机壳( Hostker )提供的香港 VPS 主机,线路是 CN2 直联的。
*低月套餐 70 元,不满意的话可以申请退款的。

P.s. 使用这个小尾巴注册的话,可以优惠 5 元: https://i.hostker.com/flag/422
binjoo 3
binjoo 2016-08-31 09:00:35 +08:00
衡天小张
zrj766 4
zrj766 2016-08-31 09:11:51 +08:00 via Android
阿里云 HKB
Damaidaner 5
Damaidaner 2016-08-31 09:13:51 +08:00
hostus , 阿里云。 非要放香港吗? 放美国,然后弄个 CDN 也可以
shoaly 6
shoaly 2016-08-31 09:19:13 +08:00
楼主的 wordpress 有什么内容啊, 发两篇来看看 怎么吸引网警叔叔跟你互动
Verydiao 7
Verydiao 2016-08-31 09:24:53 +08:00
@shoaly 就是一个地区性的资讯平台啊,大曝光什么的,有人曝光城管坏、警察叔叔坏的,网警蜀黍就来找我啦,说这个没依据要删掉,那个太偏激要删掉,这个不和谐要关闭,那个不文明要屏蔽。
mozutaba 8
mozutaba 2016-08-31 09:30:05 +08:00
@Verydiao 网管贡献了一半的流量
tony1016 9
tony1016 2016-08-31 09:34:07 +08:00
星光互联的价格不错,另外,我*近在用 kamatera 的,可以有一个月的免费试用期
Verydiao 10
Verydiao 2016-08-31 09:48:22 +08:00
@mozutaba 6 到没朋友,宝宝心里苦。。。

sefemp 11
sefemp 2016-08-31 10:08:33 +08:00
有一样苦恼的路过,同求 solution
wcong 12
wcong 2016-08-31 10:09:06 +08:00
DigitalOcean 价格很划算还是 ssd 的,尝试一下的话,可以用我的链接 https://m.do.co/c/85d507800931 ,送$10
lissome 13
lissome 2016-08-31 10:27:30 +08:00
枫叶主机的香港 CN2 ,楼主可以试试。
欢迎用我的推广链接: https://www.fyzhuji.com/aff.php?aff=2382
官网有 95 折优惠码。

另外 Vultr 日本的我用着还不错,这个链接注册可送$ 20 : http://www.vultr.com/?ref=6916832-3B
xhowhy 14
xhowhy 2016-08-31 13:20:48 +08:00
马克
yuandong 15
yuandong 2016-08-31 19:02:08 +08:00
locvps
abel163 16
abel163 2016-09-01 14:58:53 +08:00
香港的来找我吧,自营机房,网路稳定,企业客户类型居多,加我 qq 了解下 41431935
lj2016 17
lj2016 2016-09-02 13:44:02 +08:00
阿里云香港, 8$/m
wyzh97 18
wyzh97 2017-03-12 16:20:40 +08:00
好多推广链接….不知道如何选择了 0.0
ign 19
ign 2019-06-16 16:48:36 +08:00 via Android
几个好用的国际主机,git.io/fhJLM

求问 CentOS7 上有什么办法能够统计每个端口的流量?

以前用 6.5 的时候可以用 iptables 统计端口流量,现在换成 7.2 了,所以 iptables 用不了了,防火墙变成 firewalld 了,网上给的方法基本上都是自己再装一个 iptables 然后把 firewalld 停掉,按理说系统升级更换了防火墙应该不会把功能彻底从系统里砍掉吧, firewalld 真的没有办法统计端口产生的流量吗?现在只能用 vnstat 来统计网卡的全部流量,想知道单个端口产生了多少流量根本没办法看啊
第 1 条附言 · 2017-01-22 13:02:07 +08:00
补充一下,我需要是那种能够在后台监控的,想看的时候能调出来看看程序运行期间指定端口的流量

lydasia 1
lydasia 2017-01-22 09:59:46 +08:00
iptables?
lydasia 2
lydasia 2017-01-22 10:00:18 +08:00
哦不好意思没仔细看。。
zzwangsh 3
zzwangsh 2017-01-22 10:02:00 +08:00
nethogs
maojy1989 4
maojy1989 2017-01-22 10:10:27 +08:00
@zzwangsh 这个是只能看实时的吗?我想要那种添加了统计以后就可以不管了的,然后偶尔想看端口用了多少流量的时候能调出来看哪些端口占用的流量*多的
xdz0611 5
xdz0611 2017-01-22 11:02:20 +08:00
iptables 可以用的噢 楼主.你可以搜一下在 7 下面怎么用 iptables
maojy1989 6
maojy1989 2017-01-22 11:07:06 +08:00
@xdz0611 。。。仔细看内容好么,我知道可以用啊
19k 7
19k 2017-01-22 11:28:05 +08:00
iftop
你看看符合你要求么?
CloudnuY 8
CloudnuY 2017-01-22 11:39:01 +08:00 via iPhone
做 ss 服务器用?
wu360463231 9
wu360463231 2017-01-22 19:19:06 +08:00
systemctl stop firewalld
systemctl mask firewalld
yum install -y iptables iptables-services policycoreutils -y
systemctl enable iptables.service
systemctl start iptables.service

停用 firewalld 装个 iptables 就 OK 了
mingl0280 10
mingl0280 2017-04-05 19:22:58 +08:00 via Android
vnstat

kurisu 11
kurisu 2017-07-13 04:02:15 +08:00
我正好也碰到这个问题,暂时用 iptables 在解决,然后准备换成 iptraf-ng 来试试,还在尝试看他能不能支持端口统计,vnstat 似乎无法端口统计,iftop 用作端口统计的话有点。。。

使用 strongSwan 搭建以证书认证的 IKEv2 服务器时出现的一点问题

用 Windows 10 连接的日志如上

从日志可以看到有一句 no trusted certificate found for '* Client' to verify TLS peer

可是证书应该是没问题的,因为相同的证书在 Android 上的 strongSwan 就能成功连上,并且用的也是 EAP-TLS

monsterxx03 2017-03-07 23:17:22 +08:00
证书给 windows 用的话,记得生成的时候要设置 subjectAltName 的, 看看这篇: https://wiki.strongswan.org/projects/strongswan/wiki/Win7CertReq
yhjserv 2
yhjserv 2017-03-07 23:52:37 +08:00
@monsterxx03 服务器的证书应该是没问题的,因为是服务器拒*了 Windows 连这个服务器,而且从 log 上也能看出来
monsterxx03 3
monsterxx03 2017-03-08 00:40:48 +08:00
我是说给 client 端的证书,那句 log 就是 server 不认 client 的证书。

当时 windows 的证书是怎么生成的? 用 ipsec pki 生成的话,有加 –san my_server_domain.example.org 吗
yhjserv 4
yhjserv 2017-03-08 01:16:24 +08:00
使用下面的命令生成了客户端证书
“`
ipsec pki –pub \
–in test.key | \
ipsec pki –issue \
–cacert ../rootca/*ca/*ca.crt \
–cakey ../rootca/*ca/*ca.key \
–dn “C=CN, O=IKEv2 * TEST, CN=Test * Client” \
–san my_server_domain.example.org \
–outform pem > test.crt
“`

证书信息
“`
$ openssl x509 -in test.crt -noout -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 5911216928624408369 (0x5208dc7a44eef731)
Signature Algorithm: sha512WithRSAEncryption
Issuer: CN = Root CA, C = CN, O = IKEv2 * TEST
Validity
Not Before: Mar 7 17:04:57 2017 GMT
Not After : Mar 6 17:04:57 2020 GMT
Subject: C = CN, O = IKEv2 * TEST, CN = Test * Client
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (8192 bit)
Modulus:
00:……:17
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Authority Key Identifier:
keyid:32:6A:60:CC:11:2E:7C:5F:B7:58:C2:8F:5F:6B:64:CB:69:AB:CD:8E

X509v3 Subject Alternative Name:
DNS:my_server_domain.example.org
Signature Algorithm: sha512WithRSAEncryption
64:……:53
“`

服务端依然不接受这张证书
monsterxx03 5
monsterxx03 2017-03-08 09:16:50 +08:00 via iPhone
看上去没啥问题啊,话说你的域名只是个示例吧,实际连服务器使用的域名要和 server 证书的 cn 对得上才行。 strongswan 坑好大的,能用其他的还是别折腾了
Terenc3 6
Terenc3 2017-03-08 09:46:48 +08:00 via iPhone
将 CN 字段更换为你的域名!

https://enginx.cn/2016/06/19/配置基于 strongswan-的 ikev2.html
yhjserv 7
yhjserv 2017-03-08 15:02:21 +08:00
@monsterxx03 是的,我是用正确的信息将证书生成后把敏感信息替换掉了而已

@Terenc3 这是客户端证书的问题,另,你提供的链接 404 了
Terenc3 8
Terenc3 2017-03-08 23:02:26 +08:00
https://enginx.cn/2016/06/19/%E9%85%8D%E7%BD%AE%E5%9F%BA%E4%BA%8Estrongswan-%E7%9A%84ikev2.html

链接包含中文,没有转换过来。以上是正确有效的链接。
Terenc3 9
Terenc3 2017-03-08 23:05:24 +08:00
@yhjserv 客户端证书只需要 CA 和服务器证书一致就行了。可是服务器证书的 CN 字段需要填写你的域名。
yhjserv 10
yhjserv 2017-03-09 23:42:58 +08:00
@Terenc3 你提供的文章对我来说可能没有什么用,因为这篇文章使用的是密码登录而不是证书登录。
我相信我的配置文件里面写得很清楚,里面没有配置任何的密码登录

Terenc3 11
Terenc3 2017-03-10 11:43:26 +08:00 via iPhone
@yhjserv 估计你要再搜索点资料了。我的 iKEv2 使用数字证书和用户名验证,但是我的这篇文章没有写 radius 的部分,祝你顺利。

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速