技术相关实践记录
来源:互联网 发布:会计常用电脑软件 编辑:程序博客网 时间:2024/05/16 11:48
centos 7
修改ip
文件地址:
/etc/sysconfig/network-scripts/ifcfg-你的网卡(通过ifconfig查看)
修改一下部分:
BOOTPROTO=static #修改成静态
``````
#以下是添加的配置
ONBOOT=yes #开启时启动
IPADDR=192.168.9.7
重新启动网络服务:
service network restart (建议分成:service network stop,service network start 两步操作)
查看修改结果,通过ifconfig查看
如果是使用虚拟主机,要使用xshell等工具连接,需要将网络改成桥接状态
关闭防火墙:
centos7+ : systemctl stop firewalld.service
centos7- : service iptables stop
centos7+:开启某个端口 firewall-cmd --zone=public --add-port=9010/tcp --permanent
使用Xshell连接CENTOS7 NAT模式连接
首先查看有没有安装openssh-server服务,如果没有安装挂载Centos7 光盘,在Packages保重查找openssh-server安装文件,进行安装
具体步骤:
首先保证你的CD中有Centos光盘
cd / #切换到根目录
mkdir cdrom #创建等会儿光盘挂载的目录文件夹
cd /dev #切换到设备
mount cdrom /cdrom #讲cdrom挂载当刚刚创建的文件夹
cd /cdrom/Packages #进入Packages包中
ls | grep openssh-server* #过滤出openssh-server的文件
复制出你的本机目录,使用rpm -ivh 软件包 安装即可
cp openssh-server-6.6.1p1-31.el7.x86_64.rpm /softwares # softwares是我自己在根目录创建的一个专门存放软件的包
cd /softwares
rpm -ivh openssh-server-6.6.1p1-31.el7.x86_64.rpm
cd /etc/ssh # 到安装好的ssh目录
vi sshd_config #变价sshd_config文件,注意不是 ssh_config
打开以下行(即把#去掉):
Port 22
ListenAddress 0.0.0.0
ListenAddress ::
PermitRootLogin yes
PasswordAuthentication yes
改完之后保存退出
查看sshd服务状态
service sshd status
可以看看22端口有没有开,验证一下ssh服务有没有开启
netstat -ano | grep 22
重启sshd服务
systemctl restart sshd.service
如果希望开机就启动sshd服务,可以这样操作:
systemctl enable sshd
查看有没有设置成功开机启动sshd服务
systemctl list-unit-files | grep sshd
如果你是虚拟机,需要查看你的虚拟网卡的ip是否和你虚拟的机器在同一网段,如果不是请修改
例如你的虚拟机ip为192.193.32.34 你的虚拟网卡就必须改成192.193.32.0
如果连接不上,请查看防火墙状态(systemctl status firewalld),如果是启动的,请关闭:systemctl stop firewalld,如果想永久关闭,请systemctl disable firewalld,即可连接上
查找文件中的指定内容
grep --color=auto "要查找的目标内容" 文件find 文件所在目录 -name 文件 -print |xargs grep --color=auto '要查找的目标内容'find 文件所在目录 -type f -name 文件 | xargs grep --color=auto "要查找的目标内容"cat 文件 | grep 要查找的目标内容 #用不用引号都行在多个文件中查找指定内容:
grep '你要查找的内容' 文件1 文件2grep '你要查找的内容' 文件通配符查看最后几行:
tail -n 200 文件名
Linux日志查看技巧
先必须了解两个最基本的命令:
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
场景1: 按行号查看---过滤出关键字附近的日志
因为通常时候我们用grep拿到的日志很少,我们需要查看附近的日志.
<1>首先: cat -n test.log |grep "Goods" 得到关键日志的行号<2>得到"Goods"关键字所在的行号是102行. 此时如果我想查看"Goods"关键字前10行和后10行的日志:
cat -n test.log |tail -n +92|head -n 20 [没有grep了]解释:tail -n +92表示查询92行之后的日志head -n 20 则表示在前面的查询结果里再查前20条记录
场景2:那么按日期怎么查呢? 通常我们非常需要查找指定时间端的日志
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效.
关于日期打印,可以先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该时间点,这个根据时间段查询日志是非常有用的命令.
如果我们查找的日志很多,打印在屏幕上不方便查看, 有两个方法:
(1)使用more和less命令, 如: cat -n test.log |grep "Goods" |more 这样就分页打印了,通过点击空格键翻页(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:cat -n test.log |grep "Goods" >xxx.txt
安装图形界面
1.运行命令:
yum groupinstall "X Window System"
2.运行完成之后,运行
yum grouplist
查看可用的环境组Available Environment Groups, 这里面列出的都可以安装3.如果有 GNOME Desktop 使用
就可以安装了yum groupinstall "GNOME Desktop"
4.安装完成后
startx即可启动图形界面或者改变默认启动为图形界面也可以
图形界面安装完之后,一些附属工具也可以使用了
yum install、wget、vim ,gcc(可以编译)······
安装Redis:
到redis官网下载页面,有Install:
依次执行,最后一步为编译,编译成功后就安装好了.wget http://download.redis.io/releases/redis-3.2.7.tar.gz
tar xzf redis-3.2.7.tar.gz
cd redis-3.2.7
make测试编译有没有错:
cd srcmake test(tcl如果缺失,请安装,yum install tcl)Redis命令在/usr/local/bin/中
启动Redis:./redis-server
连接redis:./redis-cli
安装Nginx:
下载nginx安装包解压 : tar xvf 安装包名配置 : ./configure --with-pcre=/nginx所在目录/nginx-1.11.9/auto/lib/pcre --with-zlib=/nginx所在目录/nginx-1.11.9/auto/lib/zlib启动Nginx: ./usr/local/nginx/sbin/nginx为了方便,可以把启动脚本复制到你的nginx目录: cp /usr/local/nginx/sbin/nginx 你的目录停止nginx: ./usr/local/nginx/sbin/nginx -s stop
安装MySql:
(
解决centos7中没有mysql的问题,如果你的机器上有的话,略过
安装mysql源:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm #下载安装文件
安装 rpm -ivh mysql-community-release-el7-5.noarch.rpm
此时mysql源已经安装好
)
安装MySql:
yum install -y mysql-server
启动MySql:
systemctl start mysqld.service
可以更改一下Mysql的root密码,默认是没有密码的.
mysql #启动Mysql
use mysql; #使用mysql数据库
update user set password=password('123456') where user='root'; #更改密码
exit; #退出mysql数据库
也可以这样更改:
mysqladmin -u root password '123456'
登录:
mysql -u root -p
输入密码即可登录成功
登录mysql后:
grant all privileges on *.* to 'root'@'%' identified by 'mysql' with grant option; # "%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可
flush privileges;
卸载MySql:
yum remove -y mysql-server mysql mysql-devel
find / -name mysql #找到所有与mysql相关的目录,
rm -rf 掉
CentOS连接网络:
首先需要用 nmtui 命令进入 Network Manager
选择 Edit a connection 来配置你的网络连接
选择IPv4 CONFIGURATION为Automatic,并且勾选Automatically connect选项。
最后返回命令行,输入:
service network restart
来重新网络服务,此时就可以正常连接网络了
yum出现的网络地址解析不了的问题解决
首先检查网络是否可以连接上,如上不能连接上看上面的内容
看看yum源国内是否能访问,还是建议使用阿里的或者163的
如果出现解析的问题,是DNS未配置,在网卡中配置就行
vi /etc/sysconfig/network-scripts/ifcfg-你的网卡 看看有没有DNS如果没有可以这样配置,加两个DNS:
DNS1=8.8.8.8
DNS2=8.8.4.4需要检查 /etc/resolv.conf 文件中有无dns,如果没有徐相应配置,内容大致如下,每台机子环境不一样:
# Generated by NetworkManager
search localdomain
nameserver 192.168.9.2
nameserver 8.8.8.8
nameserver 8.8.4.4
启动网卡
如果某一块网卡启动不了,先查看日志:
cat /var/log/messages | grep network
会看到以下类似的错误:
Feb 9 22:05:32 localhost network: ERROR : [/etc/sysconfig/network-scripts/ifup-eth] Error adding address 1O.33.2.256 for ens33.Feb 9 22:05:32 localhost /etc/sysconfig/network-scripts/ifup-eth: Error adding address 1O.33.2.256 for ens33.
使用ip addr 查看对应网卡mac地址:
我获取的mac地址是:00:0c:29:1d:7b:19
编辑ifcfg-你的网卡 文件
vi /etc/sysconfig/network-scripts/ifcfg-你的网卡
添加如下行:
HWADDR=00:0c:29:1d:7b:19 #此处的值就是你刚刚获取的对应的网卡的mac地址
在网上学到的,据说可以看wifi密码[Windows]:
netsh wlan show profiles
netsh wlan show profile profile_name key = clear
nginx基本配置与参数说明
转载地址:http://www.nginx.cn/76.html
#运行用户user nobody;#启动进程,通常设置成和cpu的数量相等worker_processes 1;#全局错误日志及PID文件#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;#工作模式及连接数上限events { #epoll是多路复用IO(I/O Multiplexing)中的一种方式, #仅用于linux2.6以上内核,可以大大提高nginx的性能 use epoll; #单个后台worker process进程的最大并发链接数 worker_connections 1024; # 并发总数是 worker_processes 和 worker_connections 的乘积 # 即 max_clients = worker_processes * worker_connections # 在设置了反向代理的情况下,max_clients = worker_processes * worker_connections / 4 为什么 # 为什么上面反向代理要除以4,应该说是一个经验值 # 根据以上条件,正常情况下的Nginx Server可以应付的最大连接数为:4 * 8000 = 32000 # worker_connections 值的设置跟物理内存大小有关 # 因为并发受IO约束,max_clients的值须小于系统可以打开的最大文件数 # 而系统可以打开的最大文件数和内存大小成正比,一般1GB内存的机器上可以打开的文件数大约是10万左右 # 我们来看看360M内存的VPS可以打开的文件句柄数是多少: # $ cat /proc/sys/fs/file-max # 输出 34336 # 32000 < 34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内 # 所以,worker_connections 的值需根据 worker_processes 进程数目和系统可以打开的最大文件总数进行适当地进行设置 # 使得并发总数小于操作系统可以打开的最大文件数目 # 其实质也就是根据主机的物理CPU和内存进行配置 # 当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要消耗系统资源。 # ulimit -SHn 65535}http { #设定mime类型,类型由mime.type文件定义 include mime.types; default_type application/octet-stream; #设定日志格式 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件, #对于普通应用,必须设为 on, #如果用来进行下载等应用磁盘IO重负载应用,可设置为 off, #以平衡磁盘与网络I/O处理速度,降低系统的uptime. sendfile on; #tcp_nopush on; #连接超时时间 #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; #开启gzip压缩 gzip on; gzip_disable "MSIE [1-6]."; #设定请求缓冲 client_header_buffer_size 128k; large_client_header_buffers 4 128k; #设定虚拟主机配置 server { #侦听80端口 listen 80; #定义使用 www.nginx.cn访问 server_name www.nginx.cn; #定义服务器的默认网站根目录位置 root html; #设定本虚拟主机的访问日志 access_log logs/nginx.access.log main; #默认请求 location / { #定义首页索引文件的名称 index index.php index.html index.htm; } # 定义错误提示页面 error_page 500 502 503 504 /50x.html; location = /50x.html { } #静态文件,nginx自己处理 location ~ ^/(images|javascript|js|css|flash|media|static)/ { #过期30天,静态文件不怎么更新,过期可以设大一点, #如果频繁更新,则可以设置得小一点。 expires 30d; } #PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置. location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #禁止访问 .htxxx 文件 location ~ /.ht { deny all; } }}
nginx location 匹配示例
location = / { # 只匹配"/". [ configuration A ] }location / { # 匹配任何请求,因为所有请求都是以"/"开始 # 但是更长字符匹配或者正则表达式匹配会优先匹配 [ configuration B ] }location ^~ /images/ { # 匹配任何以 /images/ 开始的请求,并停止匹配 其它location [ configuration C ] }location ~* .(gif|jpg|jpeg)$ { # 匹配以 gif, jpg, or jpeg结尾的请求. # 但是所有 /images/ 目录的请求将由 [Configuration C]处理. [ configuration D ] }
nginx 配置反向代理
转载地址:http://www.cnblogs.com/sixiweb/p/3988805.html环境:
nginx1:192.168.68.41tomcat1:192.168.68.43tomcat2:192.168.68.45配置案例:
#负责压缩数据流gzip on; gzip_min_length 1000; gzip_types text/plain text/css application/x-javascript;#设定负载均衡的服务器列表#weigth参数表示权值,权值越高被分配到的几率越大upstream hello{ server 192.168.68.43:8080 weight=1; server 192.168.68.45:8080 weight=1; } server { #侦听的80端口 listen 80; server_name localhost; #设定查看Nginx状态的地址 location /nginxstatus{ stub_status on; access_log on; auth_basic "nginxstatus"; auth_basic_user_file htpasswd; } #匹配以jsp结尾的,tomcat的网页文件是以jsp结尾 location / { index index.jsp; proxy_pass http://hello; #在这里设置一个代理,和upstream的名字一样 #以下是一些反向代理的配置可删除 proxy_redirect off; #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; #允许客户端请求的最大单文件字节数 client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数 proxy_connect_timeout 300; #nginx跟后端服务器连接超时时间(代理连接超时) proxy_send_timeout 300; #后端服务器数据回传时间(代理发送超时) proxy_read_timeout 300; #连接成功后,后端服务器响应时间(代理接收超时) proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小 proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置 proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2) proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传 }}
IntelliJ Idea Spring配置文件(eg,applicationContext.xml,dataSource.xml)报错处理
top level element is not completed这个如果你的xml真的写得没有问题,就是你的intellij idea设置原因,解决方法:进入intellij idea的设置页面(可以使用快捷键:ctrl + alt + s),在搜索栏中搜索un-in,将右面板出现的Un-inject Language/Reference打上勾会到出错的xml文件处, 使用快捷键 alt + enter 键,选择Un-inject Language/Reference即可,错误消除
如果相关的配置值有报红
使用快捷键 alt + enter 键,选择Inspection 'Spring Model' options --> Disable Inspection
IntelliJ Idea File Types 配置
*.gitattributes;*.gitignore;*.hprof;*.iml;*.pyc;*.pyo;*.rbc;*.yarb;*~;.DS_Store;.git;.hg;.idea;.svn;CVS;RCS;SCCS;__pycache__;_svn;rcs;target;vssver.scc;vssver2.scc;.classpath;.project;.settings;bins;
Maven jar依赖失效
在2天前,开发的时候就发现接口jar的实现到不了具体的实现类,检查pom依赖,发现都OK,也没有什么问题,找了半天。因为pom中的版本都是变量,所以我就想是不是缓存,变量没有变过来,我清理了IntelliIdea和MavenInstall的缓存,发现依旧不行。最后我干脆,去掉变量,使用常量,即明着写,使其先强依赖上,结果是行的,之后我改回变量的形式,发现OK了......
IntelliJIdea快捷键自动生成 serialVersionUID
Setting->Inspections->Serialization issues->Serializable class without ’serialVersionUID’
选上以后,在你的class中:Alt+Enter就会提示自动创建serialVersionUID了
- 技术相关实践记录
- 技术相关实践记录2
- sqlite相关技术记录
- 技术相关记录
- Android相关的一些技术文档记录
- 转载hadoop实践路上异常问题以及相关解决方法记录
- 移动IP技术相关知识(个人知识记录一)
- Android Widget开发的相关技术点记录
- 技术记录
- 技术记录
- 相关技术
- 相关技术
- jQuery插件的编写相关技术 设计总结和最佳实践
- OCR技术技术相关
- 敏捷实践感想记录
- 人工智能开发实践记录
- 日志记录最佳实践
- rails_best_practices 实践记录
- 383. Ransom Note [LeetCode]
- Responding to Other's Writing
- 如何在二维码中嵌入Logo图片
- bzoj3289Mato的文件管理
- tabLayout的setupWithViewPager方法不能用
- 技术相关实践记录
- 如何成为高级程序员
- 企业级应用框架的演变
- 虚拟机几种联网的方式,如何共享主机IP
- TI C6000 优化进阶:循环最重要!
- 数据结构实验之链表五:单链表的拆分
- PAT BASIC LEVEL 1034. 有理数四则运算(20)
- C标准库学习之<stdarg.h> ——不定参数处理
- 婚礼的正确打开方式:“电子+纸质”请柬,让婚礼更出彩