我正在编写一个 linux 服务来将我的 springboot web 应用程序部署为服务。这是服务文件springboot.service
[Unit]
Description=My Webapp Java REST Service
[Service]
User=ubuntu
# The configuration file application.properties should be here:
#change this to your workspace
WorkingDirectory=/home/ubuntu
#path to executable.
#executable is a bash script which calls jar file
ExecStart=/home/ubuntu/spring-start
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
我的脚本文件 spring-start.sh
sudo java -jar "/home/ubuntu/FirstWebAppWithoutDB.jar"
Run Code Online (Sandbox Code Playgroud)
我还通过以下方式授予了 spring-start.sh 执行权限 chmod u+x spring-start.sh
sudo systemctl daemon-reload
sudo systemctl enable springboot.service
sudo systemctl start springboot
sudo systemctl status springboot
Run Code Online (Sandbox Code Playgroud)
不幸的是,该服务因错误 Exec 格式错误而失败:
springboot.service: Failed …Run Code Online (Sandbox Code Playgroud) 服务器生成 RSA 公钥和私钥并将它们存储在会话中。通过服务器调用,客户端 html 页面接收公钥。现在我想用它来加密数据。我尝试过使用 jsencrypt 但它无法识别我的服务器生成的公钥。当我在设置公钥后调用加密时给出错误。我认为关键是2048位。但不确定编码。如何使用这个密钥加密数据?任何帮助表示赞赏。
Sample public key generated by server: 9995362445e0a98f4da3019f6f3eb960f938056972408675c0b3f642ad5943709f8e8031f00bba6ed24bad1e8e2b099cd154b5eb5b64b310d179b39abb4392442cdb8ad3fe8bc6e3088bd63089d405fb134c633de62b741e4c5bd615b90e096ec3bb16f71ef54825febc5662a96c093db986225825a1cc63d4dc19e2abbbfb1cb9d3a5e41f757ce3f82481a5caf92207ffe4c37e8acc43835dce49cf61a6b113384d333050b6ac59ef78a182bae114b08729e84cbad659eb8bace0481aa51a370daac09f97d779be245ce95af85a285d0ea170da732f9eef2e43a21f5586014ea00259ef09498356eaf2d4e492f0f8978ca167c3f690b35045a8dd1c7ccf4347
Run Code Online (Sandbox Code Playgroud)
编辑:根据许多人的建议,我尝试使用加密:
let crypto;
try {
crypto = require('crypto');
} catch (err) {
console.log('crypto support is disabled!');
}
var encryptStringWithRsaPublicKey = function(toEncrypt, publicKey) {
var buffer = Buffer.from(toEncrypt,'utf8');
var encrypted = crypto.publicEncrypt(publicKey, buffer);
return encrypted.toString("base64");
};
console.log(encryptStringWithRsaPublicKey('MyText','9995362445e0a98f4da3019f6f3eb960f938056972408675c0b3f642ad5943709f8e8031f00bba6ed24bad1e8e2b099cd154b5eb5b64b310d179b39abb4392442cdb8ad3fe8bc6e3088bd63089d405fb134c633de62b741e4c5bd615b90e096ec3bb16f71ef54825febc5662a96c093db986225825a1cc63d4dc19e2abbbfb1cb9d3a5e41f757ce3f82481a5caf92207ffe4c37e8acc43835dce49cf61a6b113384d333050b6ac59ef78a182bae114b08729e84cbad659eb8bace0481aa51a370daac09f97d779be245ce95af85a285d0ea170da732f9eef2e43a21f5586014ea00259ef09498356eaf2d4e492f0f8978ca167c3f690b35045a8dd1c7ccf4347'));
Run Code Online (Sandbox Code Playgroud)
它抛出以下错误:
Uncaught TypeError: Cannot read property '2' of null
at push../node_modules/parse-asn1/fixProc.js.module.exports (fixProc.js:19)
at parseKeys (index.js:27)
at Object.publicEncrypt (publicEncrypt.js:30)
at encryptStringWithRsaPublicKey (App.js:20)
at Module.<anonymous> (App.js:23)
at Module../src/App.js (App.js:727)
at __webpack_require__ (bootstrap:781) …Run Code Online (Sandbox Code Playgroud) 我是新手做出反应,目前我正在尝试将div的scrollTop属性设置为所需的数字.不幸的是,它对我不起作用.请参阅以下代码:
class Testdiv extends React.Component {
constructor(props){
super(props);
this.divRef = React.createRef();
}
componentDidMount(){
this.divRef.current.scrollTop = 100;
}
render(){
return (
<div className="testDiv" ref={this.divRef}>
Hello World<br /><br /><br /><br />
Hello World!
</div>
);
}
}
ReactDOM.render(
<Testdiv />,
document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)
而CSS:
.testDiv{
height: 500px;
overflow: auto;
}
Run Code Online (Sandbox Code Playgroud)
这是相应代码的codeio笔.PS我不想使用Jquery.感谢您的帮助.
所以 reactjs.org 有一个很好的教程,介绍如何通过将 react js 代码添加为脚本来将 react js 添加到现有网站HERE。这对我来说效果很好。我的疑问是我们如何处理从 npm 下载的组件?(例如:react-router、react-bootstrap 等) js,但是我们如何安装这些组件或获取它们的脚本文件,就像我们得到 react 脚本文件一样?
我在 react native 之上使用原生基础组件,我想知道如何使卡片在 UI 中变成圆形而不是矩形。有一个圆形的道具吗?
javascript ×3
reactjs ×2
babeljs ×1
bash ×1
cryptojs ×1
css ×1
encryption ×1
html ×1
html5 ×1
linux ×1
native-base ×1
react-native ×1
rsa ×1
service ×1
shell ×1
spring-boot ×1