e2lc5's blog

e2lc5's blog

安装各种工具

Nginx

  • 参考

lrzsz

1
apt install lrzsz

Git

1
sudo apt install git

新增git用户

1
root@iZj6cgoyl5x6opizfwaukrZ:~# adduser git  

修改Git权限

1
2
3
visudo
# User privilege specification
root ALL=(ALL:ALL) ALL

在root ALL=(ALL:ALL) ALL这一行下面添加git ALL=(ALL:ALL) ALL

关闭git用户shell权限

执行:vim /etc/passwd
将最后一行的git:x:1001:1001:,,,:/home/git:/bin/bash修改为git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

部署

初始化仓库

1
2
3
4
cd /home/git            //切换到git用户目录  
mkdir blog.git //创建git仓库文件夹,以blog.git为例
cd blog.git //进入仓库目录
git init --bare //使用--

创建目录

1
2
cd /var/www/            //切换目录  
mkdir blog //创建网站目录,以blog为例

配置SSH

1
2
3
4
cd /home/git            //切换到git用户目录  
mkdir .ssh //创建.ssh目录
cd .ssh
vim authorized_keys

然后将本地的公钥复制到authorized_keys文件里(公钥即上文中本地执行cat ~/.ssh/id_rsa.pub查看的内容)

修改权限(重要)

修改 .ssh 目录的权限为 700

  修改 .ssh/authorized_keys 文件的权限为 600

1
2
3
4
5
sudo chmod 700 .ssh
cd .ssh
sudo chmod 600 authorized_keys
cd ..
sudo chown git:git -R .ssh

文件夹权限

1
2
3
4
5
6
7
8
9
10
11
ll /home/git/  
ll /var/www/
确保blog.git、.ssh、blog目录的用户组权限为git:git
若不是,执行下列命令后再查看:
sudo chown git:git -R /var/www/blog
sudo chown git:git -R /home/git/blog.git
直接启用git-shell似乎有问题
cp /usr/share/doc/git/contrib/git-shell-commands /home/git -R
$ chown git:developers /home/git/git-shell-commands/ -R
$ sudo chmod +x /home/git/git-shell-commands/help
$ sudo chmod +x /home/git/git-shell-commands/list

增加Hooks
配置Git Hooks
创建post-receive文件
git用户下执行:
cd /home/git/blog.git/hooks //切换到hooks目录下
vim post-receive //创建文件
复制下面的内容到post-receive文件中:

1
2
3
4
5
6
7
8
#!/bin/bash -l  
GIT_REPO=/home/git/blog.git
TMP_GIT_CLONE=/tmp/blog
PUBLIC_WWW=/var/www/blog
rm -rf ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}/*
cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}

保存退出后,执行:sudo chmod +x post-receive赋予可执行权限。

测试Git连接
3.Git服务器打开RSA认证
/etc/ssh/sshd_config中将RSA认证打开:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

1
2
在本地打开Git Bash:  
ssh git@VPS的ip

关于如何小区RecycleView自带的点击效果

((SimpleItemAnimator)rvLossInfo.getItemAnimator()).setSupportsChangeAnimations(false);

今天遇到一个之前遇到的问题

服务器返回包名中is_stock字段返回false,但检查服务器字段后发现其为tiny(1),当时解决了,今天又遇到一次,竟然忘了,附上解决方法

jdbc:mysql://{host}/{database}?tinyInt1isBit=false,添加tinyInt1isBit=false

SVN设置日志提交限制

服务器中安装的VisualSVN Server ,在新增Repositoreis时,每个Repositoreis(即新建的项目)下都会有一个hooks(钩子程序)在hooks目录下有一些tmpl文件,作为不同的hooks操作

新建一个pre-commit.bat文件,文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@echo off
setlocal
set SVN_BINDIR=C:/Program Files/VisualSVN Server/bin/
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 20 characters
svnlook log "%REPOS%" -t "%TXN%" | findstr "....." > nul
endlocal
if %errorlevel% gtr 0 goto err
exit 0
:err
echo 请填写Log!!!日志格式具体如下: 1>&2
echo 【提交类型】:BUG/新功能/需求修改/版本制作/代码整理/解决编译不过/阶段性递交/追加递交 1>&2
echo 【问题描述】:该单的描述,从devtrack中复制过来或从功能性对本次修改的描述 1>&2
echo 【程序描述】:无(原因分析或者是对修改的技术性描述) 1>&2
echo 【修改内容】: 1>&2
echo 1.修改的内容1 1>&2
echo 2.修改的内容1 1>&2
echo 【相关单号】:无 1>&2
echo 【需要测试】:是/否 1>&2
exit 1
通过TortoiseSVN设置,步奏如下(转):

1).在SVN所在的文件夹即项目(网络上是全体的,本地是只针对自己),右键TortoiseSVN,选择Properties(属性)

2).在弹出的界面中,选择new…(新建…),然后选择Other

3).在弹出的界面中,Property name项选择tsvn:logtemplate,然后在Property Value中填入模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
【提交类型】:BUG/新功能/需求修改/版本制作/代码整理/解决编译不过/阶段性递交/追加递交  

【问题描述】:该单的描述,从devtrack中复制过来或从功能性对本次修改的描述

【程序描述】:无(原因分析或者是对修改的技术性描述)

【修改内容】:

    1.修改的内容1

    2.修改的内容2

【相关单号】:无

【需要测试】:是/否

4).确定即可


作者:DracoTianlong
来源:CSDN
原文:https://blog.csdn.net/dracotianlong/article/details/41869857
版权声明:本文为博主原创文章,转载请附上博文链接!

Git常用命令

取消版本跟踪(文件或目录)
1
git rm –cached "文件或目录名"

有时会需要加f

1
git rm –cached -f "文件或目录名"

首先下载Tomcat8

建议安装lrzsz

root权限可直接使用apt install lrzsz

安装JDK(如有即跳过)

安装JDk 的时候,其实是很顺利的,只用了三个命令,就把他装好了,感觉也自动配好了环境变量,可以直接使用。
安装Ubuntu 16.04后要做的事 的第九条:安装Oracle Java
命令如下:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer(纯命令行还挺难装的)
sudo apt-get install openjdk-8-jdk
执行完上面三条命令以后,再执行下面三条命令,测试一下,安装是否成功
java -version
java
javac
至此,JDK安装完毕。

启动tomcat

进入tomcat_path/bin,执行sh startup.sh
启动后,如果你有公网ip,可能通过公网ip:8080无法访问,这个时候需要另一个神奇iptables
查看已启用的规则
iptables -L -n
开启80端口
iptables -A INPUT -p tcp -i eth0 –dport 80 -j ACCEPT
开启8080端口
iptables -A INPUT -p tcp -i eth0 –dport 8080 -j ACCEPT

允许loopback(不然会导致DNS无法正常关闭等问题)

IPTABLES -A INPUT -i lo -p all -j ACCEPT (如果是INPUT DROP)
IPTABLES -A OUTPUT -o lo -p all -j ACCEPT (如果是OUTPUT DROP)
保存iptables规则

iptables-save > /etc/iptables.up.rules
iptables规则自动保存与自动加载

nano /etc/network/interfaces
修改 /etc/network/interfaces ,添加下面末尾2行脚本

auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /etc/network/iptables.up.rules
post-down iptables-save > /etc/network/iptables.up.rules

Tomcat Manager的用户配置是在Tomcat安装目录/conf/tomcat-users.xml文件中进行管理的。

Tomcat Manager的用户配置非常简单,下面我们以一个具体的配置为例:

如上所示,我们只需要在tomcat-users节点中配置相应的role(角色/权限)和user(用户)即可。一个user节点表示单个用户,属性username和password分别表示登录的用户名和密码,属性roles表示该用户所具备的权限。

user节点的roles属性值与role节点的rolename属性值相对应,表示当前用户具备该role节点所表示的角色权限。当然,一个用户可以具备多种权限,因此属性roles的值可以是多个rolename,多个rolename之间以英文逗号隔开即可。

稍加思考,我们就应该猜测到,rolename的属性值并不是随意的内容,否则Tomcat怎么能够知道我们随便定义的rolename表示什么样的权限呢。实际上,Tomcat已经为我们定义了4种不同的角色——也就是4个rolename,我们只需要使用Tomcat为我们定义的这几种角色就足够满足我们的工作需要了。

以下是Tomcat Manager 4种角色的大致介绍(下面URL中的*为通配符):

manager-gui:允许访问html接口(即URL路径为/manager/html/)
manager-script:允许访问纯文本接口(即URL路径为/manager/text/
)
manager-jmx:允许访问JMX代理接口(即URL路径为/manager/jmxproxy/)
manager-status:允许访问Tomcat只读状态页面(即URL路径为/manager/status/
)
2,地址绑定
修改apache-tomcat-8.5.5/webapps/manager/META-INF目录下的context.xml文件,注释这段代码。
修改apache-tomcat-8.5.5/webapps/host-manager/META-INF目录下的context.xml文件,注释这段代码。

1
2
3
4
5
6
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

安装

1
2
3
4
5
6
7
sudo apt-get update
sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev
sudo apt-get install -f

sudo netstat -tap | grep mysql

配置mysql

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
1、注释掉bind-address = 127.0.0.1:
mysql-uroot-p你的密码

1
2
3
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
flush privileges;
service mysql restart

服务管理

启动

sudo service mysql start

停止

sudo service mysql stop

服务状态

sudo service mysql status

在catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom
或者
将$JAVA_HOME/jre/lib/security/java.security内的securerandom.source参数修改为file:/dev/./urandom
将securerandom.source参数修改为file:/dev/./urandom后,tomcat的问题解决。

或者在 /etc/systemd/system/tomcat.service JAVA_OPTS中添加
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID

User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target

作者:qq_38293564
来源:CSDN
原文:https://blog.csdn.net/qq_38293564/article/details/80395389
版权声明:本文为博主原创文章,转载请附上博文链接!

0%