目录
https://blog.csdn.net/qq_43109978/article/details/99402109
<1>安装 git
yum install git
查看版本号
git --version
<2>配置 git
//因为Git是分布式版本控制系统,所以,每个机器都必须自报家门
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
//查看配置
git config -l
<3>生成密钥对
默认情况下,用户的 SSH 密钥存储在其 ~/.ssh
目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥
我们需要寻找一对以 id_dsa
或 id_rsa
命名的文件,其中一个带有 .pub
扩展名。 .pub
文件是你的公钥,另一个则是私钥。 如果找不到这样的文件(或者根本没有 .ssh
目录),你可以通过运行 ssh-keygen
程序来创建它们。
[root@instance-qj33vwh4 conf.d]# cd ~/.ssh
[root@instance-qj33vwh4 .ssh]# ls
authorized_keys
//输入ssh-keygen,ssh-keygen后会确认密钥的存储位置(默认是 .ssh/id_rsa),然后它会要求你输入两次密钥口令。如果你不想在使用密钥时输入口令,将其留空即可
[root@instance-qj33vwh4 .ssh]# ls
authorized_keys id_rsa id_rsa.pub
密钥对生成后,将公钥 id_rsa.pub
的内容拷贝添加到你的 github 上
cd /tmp
curl -sS https://getcomposer.org/installer | php
//让composer全局可用
mv composer.phar /usr/local/bin/composer
//安装epel源,安装完成之后就可以直接使用yum来安装额外的软件包
yum install epel-release
yum install redis -y
//启动redis服务
systemctl start redis.service
//redis服务加入开机启动
systemctl enable redis
//检查运行状态
systemctl status redis.service
//测试 redis
redis-cli ping
如输出 PONG,则表示 redis 已经可以连通
cd /www/wwwroot
git clone 项目地址
cd project
composer install
安装过程中,如果缺少相关 php 扩展,会有报错。从报错信息中,将所有缺少的扩展记录下来,逐个安装。
如,缺少 pdo
扩展,则运行 yum -y install php72w-pdo
,依此类推,安装 xxx 扩展,则运行 yum -y install php72w-xxx
。
安装后重启 nginx 和 php-fpm,依次运行:systemctl restart nginx
和 systemctl restart php-fpm
在项目目录 下复制 .env.example
为 .env
生成 APP_KEY
php artisan key:generate
.env
配置
APP_NAME=你的APP名字
APP_ENV=production # 这里设为生成环境
APP_KEY=base64:前面生成的key不用改
APP_DEBUG=false # 关闭调试模式
APP_URL=你的主机地址
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=你的数据库密码
BROADCAST_DRIVER=log
CACHE_DRIVER=redis # 这里使用redis
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=redis # 这里使用redis
.
.
.
MAIL_DRIVER=smtp
MAIL_HOST=smtp.qq.com
MAIL_PORT=25
MAIL_USERNAME=你的QQ邮箱
MAIL_PASSWORD=你的smtp服务的密码
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=你的邮箱地址
MAIL_FROM_NAME=你的APP名字
ES_HOSTS=127.0.0.1:9200
数据库创建:
CREATE DATABASE laravel;
数据表迁移:
php artisan migrate
如出现这样的报错:could not find driver ...,可能缺少了 pdo_mysql 扩展,运行 yum -y install php72w-pdo_mysql
安装。安装后同样重启 nginx 和 php-fpm
数据迁移:
通过mysqldump备份,传到服务器上,然后进行数据恢复
mysqldump -u root -p shop > all.sql
scp all.sql [email protected]:/home
mysql -uroot -p laravel <all.sql
<1>注意nginx.conf中user为nginx
<2>将laravel项目的权限设置为nginx
chown nginx:nginx -Rf 文件夹名
<3>修改php-fpm的用户及用户组,否则会出现 Permission denied错误(/etc/php-fpm.d/www.conf )
更改user = apache与 group = pache 为 user = nginx group = nginx ,如下:
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
在 /etc/nginx/conf.d 下面新建 laravel.conf配置文件,输入下列内容:
server {
listen 80;
server_name localhost;
//注意这里,否则找不到静态资源
root /www/wwwroot/laravel/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.php index.html index.htm;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
//项目的入口文件为public下的index.php
root /www/wwwroot/laravel/public;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
参数详见:https://mp.csdn.net/postedit/100134587
wget https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz
解压到指定目录
tar -zxvf openjdk-11.0.1_linux-x64_bin.tar.gz /opt/
由于我们日常的代码开发都是使用的JDK1.8,所以这里不会把JAVA_HOME配置成JDK11,我们只需更改Elasticsearch的启动文件,使它指向我们下载的JDK11
修改配置文件
[root@localhost bin]# pwd
/usr/local/src/elasticsearch/bin
[root@localhost bin]# vi elasticsearch
添加一下几行内容
#配置自己的jdk11
export JAVA_HOME=/opt/jdk-11.0.1
export PATH=$JAVA_HOME/bin:$PATH
#添加jdk判断
if [ -x "$JAVA_HOME/bin/java" ]; then
JAVA="/opt/jdk-11.0.1/bin/java"
else
JAVA=`which java`
fi
完整的配置文件
#!/bin/bash
# CONTROLLING STARTUP:
#
# This script relies on a few environment variables to determine startup
# behavior, those variables are:
#
# ES_PATH_CONF -- Path to config directory
# ES_JAVA_OPTS -- External Java Opts on top of the defaults set
#
# Optionally, exact memory values can be set using the `ES_JAVA_OPTS`. Note that
# the Xms and Xmx lines in the JVM options file must be commented out. Example
# values are "512m", and "10g".
#
# ES_JAVA_OPTS="-Xms8g -Xmx8g" ./bin/elasticsearch
#配置自己的jdk11
export JAVA_HOME=/opt/jdk-11.0.1
export PATH=$JAVA_HOME/bin:$PATH
source "`dirname "$0"`"/elasticsearch-env
if [ -z "$ES_TMPDIR" ]; then
ES_TMPDIR=`"$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.TempDirectory`
fi
ES_JVM_OPTIONS="$ES_PATH_CONF"/jvm.options
JVM_OPTIONS=`"$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.JvmOptionsParser "$ES_JVM_OPTIONS"`
ES_JAVA_OPTS="${JVM_OPTIONS//\$\{ES_TMPDIR\}/$ES_TMPDIR}"
#添加jdk判断
if [ -x "$JAVA_HOME/bin/java" ]; then
JAVA="/opt/jdk-11.0.1/bin/java"
else
JAVA=`which java`
fi
# manual parsing to find out, if process should be detached
if ! echo $* | grep -E '(^-d |-d$| -d |--daemonize$|--daemonize )' > /dev/null; then
exec \
"$JAVA" \
$ES_JAVA_OPTS \
-Des.path.home="$ES_HOME" \
-Des.path.conf="$ES_PATH_CONF" \
-Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" \
-Des.distribution.type="$ES_DISTRIBUTION_TYPE" \
-Des.bundled_jdk="$ES_BUNDLED_JDK" \
-cp "$ES_CLASSPATH" \
org.elasticsearch.bootstrap.Elasticsearch \
"$@"
else
exec \
"$JAVA" \
$ES_JAVA_OPTS \
-Des.path.home="$ES_HOME" \
-Des.path.conf="$ES_PATH_CONF" \
-Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" \
-Des.distribution.type="$ES_DISTRIBUTION_TYPE" \
-Des.bundled_jdk="$ES_BUNDLED_JDK" \
-cp "$ES_CLASSPATH" \
org.elasticsearch.bootstrap.Elasticsearch \
"$@" \
<&- &
retval=$?
pid=$!
[ $retval -eq 0 ] || exit $retval
if [ ! -z "$ES_STARTUP_SLEEP_TIME" ]; then
sleep $ES_STARTUP_SLEEP_TIME
fi
if ! ps -p $pid > /dev/null ; then
exit 1
fi
exit 0
fi
exit $?
直接去官网下载
tar -zxvf xxxx
mv elasticsearch-7.2.0 /usr/local/
es不让你用root启动
useradd es
passwd es
chown -R es elasticsearch-7.2.0
1 cluster.name: my-application #集群名称
2 node.name: node-1 #节点名称
3 #数据和日志的存储目录
4 path.data: /usr/local/elasticsearch-7.2.1/data
5 path.logs: /usr/local/elasticsearch-7.2.1/logs
6 #设置绑定的ip,设置为0.0.0.0以后就可以让任何计算机节点访问到了
7 network.host: 0.0.0.0
8 http.port: 9200 #端口
9 #设置在集群中的所有节点名称,这个节点名称就是之前所修改的,当然你也可以采用默认的也行,目前是单机,放入一个节点即可
10 cluster.initial_master_nodes: ["node-1"]
./elasticsearch
$ ps aux|grep elasticsearch
$ curl 127.0.0.1:9200
第一个命令是查看是否有 Elasticsearch 进程,第二个命令是尝试调用 Elasticsearch 的接口
ik插件地址: https://github.com/medcl/elasticsearch-analysis-ik
我使用了方法1 进行下载安装;
#下载与你的es版本想对应的版本
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.1/elasticsearch-analysis-ik-6.4.1.zip
#解压
unzip elasticsearch-analysis-ik-6.4.1.zip
#完成后重启es
<1>OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release
这是提醒你 cms 垃圾收集器在 jdk9 就开始被标注为 @deprecated
看下JDK11支持的垃圾回收器
HotSpot Virtual Machine Garbage Collection Tuning Guide
修改jvm.options
将 :
改为:-XX:+UseG1GC
<2>org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException
原因:elasticsearch.keystore文件没有权限
解决办法:切换到root用户修改文件elasticsearch.keystore权限
su - es
chmod -R es elasticsearch.keystore
<3>java.net.BindException: Cannot assign requested address
检查服务器IP,发现配置的不对
ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0c:29:c6:e7:c7
inet addr:192.168.15.134 Bcast:192.168.0.4 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec6:e7c7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:163 errors:0 dropped:0 overruns:0 frame:0
TX packets:180 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:11179 (11.1 KB) TX bytes:17535 (17.5 KB)
更新ElasticSearch 的配置文件config/elasticsearch.yml, 重新运行服务成功.
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
network.host: 192.168.0.4
http.port: 9200
<4>main ERROR No Log4j 2 configuration file found
原因:elasticsearch.yml中的配置项的格式有问题
解决方案:请尽量保持冒号前面没空格,后面一个空格,不要用tab键
<5>max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
sudo vi /etc/sysctl.conf 文件最后添加一行
vm.max_map_count=262144
加载设置好的系统参数
sudo sysctl -p
文章浏览阅读1.2k次,点赞2次,收藏2次。打开table2excel.js文件,找到Plugin.prototype节点,修改mid节点内容,原始样式如下mid: "</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body>",现在我们给它加上样式,解决科学计数问题。mid: "</x:ExcelWorksheets></x:ExcelWorkbook><_table2excel.js
文章浏览阅读71次。裴蜀定理两个数之间:假设两个数a,b,gcd(a,b)=c1>证ax+by=d,则c|d,因为c|a&&c|b,所以c|(ax+by),所以c|d.2>证对于k取任何整数值,总存在x,y使得ax+by=kc,根据扩展欧几里得可以得到这个结论。3>证根据扩展欧几里得得到的基本解,x1,y1,那么解的范围是x1-kb/c,y1+k..._class hastatic
文章浏览阅读681次。一、自带清除缓存点击AndroidStudio菜单File -> Invalidate Caches/Restar… ,在弹出的对话框中点击Invalidate and Restar。等待AS清理并自动重启。二、删除user目录下.AndroidStudio中的文件关闭AndroidStudio,进入C:\Users\xUser.AndroidStudio3.1(3.1为..._androidstudio 代码报错(报红色),但可正常运行解决方法
文章浏览阅读2.1k次。一、Throwable结构在Java中,Throwable是所有错误与异常的超类。Throwable包含两个子类:Error(错误)和Exception(异常)异常和错误的区别是:异常能被程序本身可以处理,错误是无法处理Error: 是程序无法处理的错误,表示运行应用程序中较严重问题. 大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。(如Java虚拟机运行错误(Virtual MachineError)、类定义错误(NoClassDefF.._java 错误和异常
文章浏览阅读229次。一、引言在排好顺序的数组中,要查找某个元素,我们可以通过二分法来快速查找,这其实依赖的是数组的随机访问的特性,我可以通过arr[6],来访问数组中的第七个元素(因为第一个元素下标是0),因此我就可以跳跃着访问数组中任意一个元素。但如果是普通的链表,第七个元素的地址,我只能通过第六个元素知道,第六个元素的地址我只能通过第五个元素知道,以此类推,我如果要查找链表中的任意一个元素,我都需要从头遍历,就使用不了二分法查找,那么对于链表这样的数据结构的快速查询,是否有合理的解决方案?有的,把链表变为跳表!_跳表level怎么计算
文章浏览阅读223次,点赞5次,收藏3次。SM2255EH是一款应用于投光灯、工矿灯、LED照明灯等多种灯具中五段低THD、高功率因数LED线性恒流控制芯片,芯片集成了700V高压MOSFET,采用独特创新的器件工艺技术,具有优越的抗雪崩击穿及浪涌能力,在外围无保护器件时可通过600V雷击浪涌测试,内置过温保护功能,提升系统应用可靠性。其次,这种芯片集成了700V高压MOS管和JFET高压供电功能,能够轻松通过440Vac高压和4kV雷击。高可靠低THD高压线性恒流芯片是一种特殊的电子芯片,主要用于驱动高电压、低电流的LED灯串。
文章浏览阅读4.4w次。org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service. at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:76) at org.apach..._org.apache.cxf.service.factory.serviceconstructionexception: failed to creat
文章浏览阅读6.7k次,点赞21次,收藏89次。LeGO-LOAM是一种在LOAM之上进行改进的激光雷达建图方法,建图效果比LOAM要好,但是建图较为稀疏,计算量也更小了。本文原地址:wykxwyc的博客github注释后LeGO-LOAM源码:LeGO-LOAM_NOTED关于代码的详细理解,建议阅读:1.地图优化代码理解2.图像重投影代码理解3.特征关联代码理解4.LeGO-LOAM中的数学公式推导以上博客会随时更新,如果..._lego_loam full_cloud_info
文章浏览阅读695次。CASE Top NSD AUTOMATION DAY01 案例1:部署Ansible 案例2:Ansible ad-hoc应用一 案例3:Ansible ad-hoc应用二 ..._unsupported parameters for (file) module: register. supported parameters inc
文章浏览阅读1k次。为什么80%的码农都做不了架构师?>>> ..._维文网址
文章浏览阅读352次。come from :https://www.jianshu.com/p/a91502c00fb0YUVYUV是一种颜色空间,基于YUV的颜色编码是流媒体的常用编码方式。Y表示流明,U、V表示色度、浓度,这种表达方式起初是为了彩色电视与黑白电视之间的信号兼容。 对于图像每一点,Y确定其亮度,UV确认其彩度。Y'CbCr也称为YUV,是YUV的压缩版本,不同之处在于Y'CbCr用于数字..._16位yuv色彩
文章浏览阅读403次。卫星导航差分定位,动态相对定位关键技术_动态差分算法