天使羊波波闪耀光芒 软件及互联网爱好者

61月/182

CentOS7 yum 安装LAMP

最近把vps系统重新安装了一下,更换了系统模版为CentOS7。命令和CentOS6有所不同。

1、更新系统

yum makecache fast
yum update

2、安装apache

yum install httpd

3、安装数据库mariadb

yum install mariadb mariadb-server mariadb-devel

4、安装php和常用库

php php-devel php-common php-cli php-mbstring php-gd php-bcmath php-pdo php-pear php-xml php-xmlrpc php-mysqlnd

5、启动httpd、mysqld

systemctl start httpd.service
systemctl start mariadb.service

6、设置开机自启动服务

systemctl enable httpd.service
systemctl enable mariadb.service

7、配置apache

vim /etc/httpd/conf/httpd.conf

1)添加php支持
找到:

DirectoryIndex index.html

改为:

DirectoryIndex index.html index.php

找到:

AddType application/x-gzip .gz .tgz

在其下面加上以下内容:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

2)添加伪静态

<Directory "/home/live-in.org">
    AllowOverride All
    # Allow open access:
    Require all granted
</Directory>


3)在文件末尾添加虚拟主机配置

<VirtualHost *:80>
DocumentRoot "/home/live-in.org"
ServerName www.live-in.org
ErrorLog logs/live-in.org-error_log
CustomLog logs/live-in.org-access_log common
DeflateCompressionLevel 5
AddOutputFilterByType DEFLATE text/html text/css text/javascript application/x-javascript
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName xxx.xxx.xxx.xxx
</VirtualHost>


PS:xxx.xxx.xxx.xxx填服务器IP

4)调整prefork进程数

<IfModule mpm_prefork_module>
    StartServers          2
    MinSpareServers       2
    MaxSpareServers       3
    MaxClients            4
    MaxRequestsPerChild  500
</IfModule>

分类: LINUX 2 评论
1812月/170

Linux lsof命令

lsof命令是一个列出当前系统打开文件的工具,常用于从端口反查打开这个端口的应用程序。

在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。

1、查找端口

[root@channel ~]# netstat -an | grep 22654
tcp        0      0 ::ffff:192.168.23.34:22654  ::ffff:192.168.23.33:61616  ESTABLISHED


2、通过端口查找进程号

[root@channel ~]# lsof -i:22654
COMMAND  PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    4345 root 1552u  IPv6 1467801      0t0  TCP channel.web.ips.local:22654->192.168.23.33:61616 (ESTABLISHED)


3、通过进程号查找应用程序

[root@channel ~]# ps -ef | grep 4345
root      2348  2283  0 14:31 pts/0    00:00:00 grep 4345
root      4345  4295  3 Dec07 pts/1    09:54:10 /opt/jrockit-jdk1.6.0_33/bin/java -jrockit -Xms2560m -Xmx2560m -Dweblogic.Name=pbcs -Djava.security.policy=/bea/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.security.SSL.trustedCAKeyStore=/bea/Oracle/Middleware/wlserver_10.3/server/lib/cacerts -da -Dplatform.home=/bea/Oracle/Middleware/wlserver_10.3 -Dwls.home=/bea/Oracle/Middleware/wlserver_10.3/server -Dweblogic.home=/bea/Oracle/Middleware/wlserver_10.3/server -Dweblogic.management.discover=false -Dweblogic.management.server=http://192.168.23.34:9003 -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/bea/Oracle/Middleware/patch_wls1033/profiles/default/sysext_manifest_classpath:/bea/Oracle/Middleware/patch_ocp353/profiles/default/sysext_manifest_classpath -Dweblogic.configuration.schemaValidationEnabled=false weblogic.Server

2611月/170

CentOS7 systemctl命令初探

CentOS7 systemctl命令初探

CentOS7在系统结构上和CentOS5、6有了很大的区别,它用systemd代替了init作为用户的初始进程。systemctl命令是CentOS7下的管理命令。

1、用户启动进程类别
Linux系统主要有以下几种主流选择:
(1)以Ubuntu为代表的Linux发行版采用upstart。
(2)以7.0版本之前的CentOS为代表的System V init。
(3)CentOS7.0版本的systemd。

2511月/170

CentOS7修改ssh端口

CentOS7修改ssh端口

1、安装工具包

yum install -y policycoreutils-python

2、关闭SELinux

[root@server201 ~]# sestatus -v
SELinux status:                 enabled


修改配置:

vim /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled
重启机器生效。

3、修改ssh端口

vim /etc/ssh/sshd_config

将Port 22 改为一个大于1000的端口,比如12333。

4、修改防火墙策略
1)添加端口

[root@server201 ~]# firewall-cmd --zone=public --add-port=12333/tcp --permanent
success

2)重新加载配置

[root@server201 ~]# firewall-cmd --reload
success

3)查看端口是否被打开

[root@server201 ~]# firewall-cmd --permanent --query-port=12333/tcp
yes

5、重启SSH服务和防火墙

systemctl restart sshd.service
systemctl restart firewalld.service

参考资料:
http://blog.csdn.net/ausboyue/article/details/53691953
http://blog.csdn.net/u012486840/article/details/53161574

99月/170

Linux进程后台运行方法

当用户注销(logout)或者网络断开时,登录的终端会收到HUP(hangup)信号从而关闭其所有子进程。我们可以使用3个命令来实现进程后台运行。

1、nohup
nohup的用途就是让提交的命令忽略hangup信号。

举例:

nohup ./startup.sh &

后台运行tomcat

2、setsid
setsid的作用是让运行的进程不属于接受HUP信号的终端的子进程。

举例:
比如bash登录上来ppid是10627

UID        PID  PPID  C STIME TTY          TIME CMD
root       521     1  0 May21 ?        00:00:01 /usr/sbin/sshd
root     10625   521  0 00:56 ?        00:00:00 sshd: root@pts/0 
root     10627 10625  0 00:56 pts/0    00:00:00 -bash


这时ping一个网址

ping www.google.com

在另一个窗口查看

ps -ef | grep ping

UID        PID  PPID  C STIME TTY          TIME CMD
root     10664 10627  0 00:57 pts/0    00:00:00 ping www.google.com


用setsid后PPID变为1(init进程ID),不会接受HUP信号

setsid ping www.google.com
ps -ef | grep ping

UID        PID  PPID  C STIME TTY          TIME CMD
root     10668     1  0 00:58 ?        00:00:00 ping www.google.com


3、screen
screen可以在后台创建会话,从而让进程在后台运行。

screen常用命令:
screen:开一个窗口
screen -r:恢复进入窗口
screen -r -D:强行进入窗口
在screen窗口内:Ctrl + A D 窗口后台运行
screen -ls:查看全部session列表
screen -d -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户再连接。
screen -D -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户并让他logout再连接

2010月/165

Linux下SHA256计算哈希值和RSA加密

项目中遇到系统之间文件传输要使用SHA256 with RSA1024加密,计算签名。详细了解了一下。

1、SHA256
哈希算法用于计算信息摘要。因为md5和sha1有被碰撞和破解的可能性,所以使用sha256。

1.1、使用sha256sum命令计算哈希值
输入:一个文件或一个字符串
输出:SHA256输出256bit,32个字节,显示为64个16进制字符

1)当对字符串计算哈希值时,字符串不变,计算出的哈希值结果是一致的
2)当对两个文件计算时,文件生成时间不同,但文件内容相同,计算出的哈希值是一致的
3)当对两个相同内容的文件,分别打包压缩成tar.gz格式后,计算出的哈希值结果不一致
应该是在tar打包压缩时,添加了随机数,造成两个文件的哈希值不一致

2、RSA加密
RSA每次生成的密文都不一致?
公钥相同,明文相同,每次RSA加密的结果都不一致。因为RSA算法,加密前对明文进行了随机数填充,解密的结果不会受到影响。

输入:一个文件或一个字符串
输出:RSA 1024输出密文1024bit,128个字节的16进制字符

因为RSA key长度是1024,所以输出的密文也是1024吗?

1812月/151

CentOS6 VPS安装xfce4桌面脚本

下载地址:
http://pan.baidu.com/s/1kUcGKQz

这个脚本安装过程中需要输入两次vnc密码。带firefox。

为了方便从国外网站下载东西,国内线路有时候只有几KB的速度,实在是太慢了。

分类: LINUX 1个评论
137月/151

CentOS搭建Weblogic容器

Weblogic是一个Java App的容器,一般大型应用跑在Weblogic中。系统为CentOS6.2 64bit。

一、安装
这里安装的是Weblogic 11g。

1、下载地址:
http://www.oracle.com/technetwork/cn/middleware/ias/downloads/wls-main-091116-zhs.html

64位版本选择:
Oracle WebLogic Server 11gR1 (10.3.6) + Coherence - 打包安装程序
通用:1 GB File1

网盘共享地址:
wls1036_generic.jar

2、安装JDK
通用的64位Weblogic安装程序本身并未包含JDK,所以要先下载并安装JDK。
安装过程见前一篇:CentOS搭建tomcat容器

3、开始安装
控制台安装模式:

java -jar wls1036_generic.jar -mode=console

1)输入next

Extracting 0%....................................................................................................100%

< -------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->

Welcome:
--------

This installer will guide you through the installation of WebLogic 10.3.6.0. 
Type "Next" or enter to proceed to the next prompt.  If you want to change data entered previously, type "Previous".  You may quit the installer at any time by typing "Exit".

Enter [Exit][Next]> 

77月/150

CentOS搭建tomcat容器

这里我们要配置JDK1.8 + Tomcat 8的环境。Tomcat是一个web容器,里面跑的是web applaction。系统为CentOS6.2 64bit。

一、安装JDK1.8
1、下载
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
由于无法直接获取下载地址,只能先在本机下载再上传rpm包到服务器

网盘共享地址:
jdk-8u45-linux-x64.tar.gz
jdk-8u45-linux-x64.rpm

2、卸载OpenJDK

rpm -qa | grep java

网上说要先卸载旧版的JDK,如果有的话。

3、安装
上传之后安装:

# rpm -ivh /tmp/jdk-8u45-linux-x64.rpm

Preparing...                ########################################### [100%]
   1:jdk1.8.0_45            ########################################### [100%]
Unpacking JAR files...
	rt.jar...
	jsse.jar...
	charsets.jar...
	tools.jar...
	localedata.jar...
	jfxrt.jar...
	plugin.jar...
	javaws.jar...
	deploy.jar...


JDK安装路径为/usr/java。

93月/150

windows和linux打印树状目录结构

windows下有tree命令可以打印出树状目录结构,linux下也有这个命令。

1、windows下tree命令
cmd窗口中查看帮助:

tree /?

以图形显示驱动器或路径的文件夹结构。

TREE [drive:][path] [/F] [/A]
   /F   显示每个文件夹中文件的名称。
   /A   使用 ASCII 字符,而不使用扩展字符。


使用tree /f > tree.txt命令,就可以把打印出的树状目录结构写入到tree.txt文件中了。

2、linux下tree命令
linux下的tree命令功能更强大,参数更多。

安装:

yum install tree

查看帮助:

tree --help

其中常用参数:
-a:打印全部文件。
-A:使用ASNI绘图字符显示树状图而非以ASCII字符组合(显示的树状图为实线不是虚线)。
-C:在文件和目录清单加上色彩,便于区分各种类型。
-d:只打印目录。
-L level:指定打印目录的深度(层级)。
-f:打印出每个文件、目录的绝对路径。

第 1 页,共 15 页12345...10...末页 »