作者存档: zhcj - 第4页

centos7安装nginx+mariadb+php-fpm

用CentOS-7.0-1406-x86_64-Minimal.iso最小化安装一个centos7,安装选项:英文、时区为上海、启用网络(如果不在安装时设置,需要安装完成后修改/etc/sysconfig/network-scripts/ifcfg-enp12s0文件中的ONBOOT选项为yes)。安装完成后,先升级一下整个系统:

yum update

重启:

reboot

删除旧内核:

yum remove kernel

安装一些基本工具(不建议安装net-tools来使用ifconfig命令,试试ip命令!):

yum install wget unzip unrar

做完以上工作后,下面是具体安装nginx+mariadb+php-fpm的过程:
1、添加nginx官方源:

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2、安装lnmp基本环境(如需要其他php组件,另行安装):

yum install nginx php-fpm php-gd php-mysql mariadb-server

3、设置mariadb的root密码:

systemctl start mariadb
mysqladmin -u root password "密码"

4、创建php的session目录及设置权限

mkdir /var/lib/php/session
chmod 777 /var/lib/php/session -R

5、修改nginx配置
添加php默认文件:

location / {
root   /usr/share/nginx/html;
index  index.php index.html index.htm;
}

修改以下代码,添加php支持:

# location ~ .php$ {
#    root           html;
#    fastcgi_pass   127.0.0.1:9000;
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
#    include        fastcgi_params;
#}

删除上面所有的#和蓝色字体部分。
6、防火墙中打开http服务

由于centos7默认使用的是firewalld防火墙,不再是iptables,许多人不习惯,把默认的卸载,重新安装了iptables,不建议这样做,firewalld功能更强大,使用也简单。防火墙中把http服务放行设置如下(配置文件:/etc/firewalld/zones/public.xml):

firewall-cmd --permanent --zone=public --add-service=http
systemctl reload firewalld

7、启动lnmp环境及设置开机启动

systemctl start nginx
systemctl start php-fpm
systemctl enable nginx
systemctl enable php-fpm
systemctl enable mariadb

完成!写个phpinfo测试一下就可以了。

centOS7安装flash插件

在linux系统中安装flashplayer插件有许多方法,这里用的是加官方源,yum安装,过程如下:

1、加源

方法一:http://get.adobe.com/cn/flashplayer/,选择:“YUM,适用于 Linux (YUM)”选项,下载rpm之后,

sudo rpm -i adobe-release-x86_64-1.0-1.noarch.rpm

即可。

方法二:手动编辑repo文件

sudo vi /etc/yum.repos.d/adobe-linux-x86_64.repo

添加:

[adobe-linux-x86_64]
name=Adobe Systems Incorporated
baseurl=http://linuxdownload.adobe.com/linux/x86_64/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux

2、yum安装

sudo yum install flash-plugin

centOS7安装VirtualBox

在centOS7中安装VirtualBox的过程:

1、加源,安装VirtualBox(来源:https://www.virtualbox.org/wiki/Linux_Downloads)

sudo wget -P /etc/yum.repos.d http://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo
sudo yum install VirtualBox

2、将用户加入vboxusers组

sudo groupadd -G vboxusers -a linux

注:linux为你登录用户名

3、安装网卡模块

sudo yum install dkms kernel-devel kernel-headers
sudo /etc/init.d/vboxdrv setup

出现:

Stopping VirtualBox kernel modules                         [  确定  ]
Uninstalling old VirtualBox DKMS kernel modules            [  确定  ]
Trying to register the VirtualBox kernel modules using DKMS[  确定  ]
Starting VirtualBox kernel modules

安装成功!

解决linux下安装oracle数据库时中文环境乱码

这两天在笔记本上折腾oracle数据库,无论oracle11g,还是oracle12c,安装时中文乱码。

搜索一番,发现是oracle用自带的jre环境,没有中文字体。

解决办法一是安装时用系统jre环境,这个没测试,我采用的是另外一种方法。

原理:将所需的字体zysong.ttf(网上自已下载)添加到oracle自带的jre环境的jar压缩包中。

我是kde环境,kde下的ark无法直接将字体文件拖到jar压缩包中相应目录下,只好解压了jar包,将字体放到解压出来的jdk/jre/lib/fonts目录下,再压缩为jar包。

注:

oracle11g的jre包是database/stage/Components/oracle.jdk/1.5.0.17.0/1 /DataFiles/all.jar;

oarcle12c的jre包是database/stage/Components/oracle.jdk /1.6.0.75.0/1/DataFiles/filegroup2.jar。

 

Gentoo+kde中无法使用触摸板的点击解决办法

笔记本安装Gentoo及kde之后,一直无法使用触摸板的点击功能,另外,两指右键、三指中键也无法使用,其他如滚动功能正常。

解决办法:

vi /etc/X11/xorg.conf.d/50-synaptics.conf

添加:

Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        Option  "HorizScrollDelta"      "0"
        Option "TapButton1" "1"
        Option "TapButton3" "2"
        Option "TapButton2" "3"
EndSection

补充:发现在centOS6.5中也是如此,用此办法无法解决,懒的查原因了。

来源:https://wiki.archlinux.org/index.php/Touchpad_Synaptics

CentOS7中yum安装lamp环境

CentOS7出来了,第一时间安装体验了一把,感觉不错。

由于nginx还没有CentOS7的源,就安装了个lamp环境试试,过程非常简单:

1、yum安装lamp软件包

yum install httpd php php-gd php-mysql mysql-server

2、启动环境

systemctl start httpd.service
systemctl start mysql.service

3、开机启动

systemctl enable httpd.service
systemctl enable mysql.service

网站根目录默认是/var/www/html,写个phpinfo看看吧。

ping: icmp open socket: Operation not permitted

解决办法:用root用户运行

chmod u+s /bin/ping

/etc/sysconfig/iptables

将下列IP放到/etc/sysconfig/iptables中,屏蔽博客的spam,绝大多数是福建的IP。

-A INPUT -s 1.93.60.167/32 -j DROP
-A INPUT -s 14.18.243.140/32 -j DROP
-A INPUT -s 14.147.165.227/32 -j DROP
-A INPUT -s 27.148.0.0/16 -j DROP
-A INPUT -s 27.149.0.0/16 -j DROP
-A INPUT -s 27.150.0.0/16 -j DROP
-A INPUT -s 27.151.0.0/16 -j DROP
-A INPUT -s 27.152.0.0/16 -j DROP
-A INPUT -s 27.153.0.0/16 -j DROP
-A INPUT -s 27.154.0.0/16 -j DROP
-A INPUT -s 27.155.0.0/16 -j DROP
-A INPUT -s 27.156.0.0/16 -j DROP
-A INPUT -s 27.157.0.0/16 -j DROP
-A INPUT -s 27.158.0.0/16 -j DROP
-A INPUT -s 27.159.0.0/16 -j DROP
-A INPUT -s 27.212.203.119/32 -j DROP
-A INPUT -s 36.248.0.0/16 -j DROP
-A INPUT -s 36.250.0.0/16 -j DROP
-A INPUT -s 37.115.214.101/32 -j DROP
-A INPUT -s 58.22.0.0/16 -j DROP
-A INPUT -s 58.251.146.221/32 -j DROP
-A INPUT -s 59.52.183.6/32 -j DROP
-A INPUT -s 59.56.0.0/16 -j DROP
-A INPUT -s 59.57.0.0/16 -j DROP
-A INPUT -s 59.58.0.0/16 -j DROP
-A INPUT -s 59.59.0.0/16 -j DROP
-A INPUT -s 59.60.0.0/16 -j DROP
-A INPUT -s 59.61.0.0/16 -j DROP
-A INPUT -s 63.141.239.2/32 -j DROP
-A INPUT -s 91.236.0.0/16 -j DROP
-A INPUT -s 107.150.49.244/32 -j DROP
-A INPUT -s 109.230.221.186/32 -j DROP
-A INPUT -s 110.80.0.0/16 -j DROP
-A INPUT -s 110.81.0.0/16 -j DROP
-A INPUT -s 110.82.0.0/16 -j DROP
-A INPUT -s 110.83.0.0/16 -j DROP
-A INPUT -s 110.84.0.0/16 -j DROP
-A INPUT -s 110.85.0.0/16 -j DROP
-A INPUT -s 110.86.0.0/16 -j DROP
-A INPUT -s 110.87.0.0/16 -j DROP
-A INPUT -s 110.88.0.0/16 -j DROP
-A INPUT -s 110.89.0.0/16 -j DROP
-A INPUT -s 110.90.0.0/16 -j DROP
-A INPUT -s 110.91.0.0/16 -j DROP
-A INPUT -s 111.142.0.0/16 -j DROP
-A INPUT -s 111.143.0.0/16 -j DROP
-A INPUT -s 112.111.0.0/16 -j DROP
-A INPUT -s 113.118.188.62/32 -j DROP
-A INPUT -s 113.205.0.0/16 -j DROP
-A INPUT -s 113.206.0.0/16 -j DROP
-A INPUT -s 117.24.0.0/16 -j DROP
-A INPUT -s 117.25.0.0/16 -j DROP
-A INPUT -s 117.26.0.0/16 -j DROP
-A INPUT -s 117.27.0.0/16 -j DROP
-A INPUT -s 117.28.0.0/16 -j DROP
-A INPUT -s 117.29.0.0/16 -j DROP
-A INPUT -s 117.30.0.0/16 -j DROP
-A INPUT -s 117.31.0.0/16 -j DROP
-A INPUT -s 120.10.0.0/16 -j DROP
-A INPUT -s 120.32.0.0/16 -j DROP
-A INPUT -s 120.33.0.0/16 -j DROP
-A INPUT -s 120.34.0.0/16 -j DROP
-A INPUT -s 120.35.0.0/16 -j DROP
-A INPUT -s 120.36.0.0/16 -j DROP
-A INPUT -s 120.37.0.0/16 -j DROP
-A INPUT -s 120.38.0.0/16 -j DROP
-A INPUT -s 120.39.0.0/16 -j DROP
-A INPUT -s 120.40.0.0/16 -j DROP
-A INPUT -s 120.41.0.0/16 -j DROP
-A INPUT -s 120.42.0.0/16 -j DROP
-A INPUT -s 120.43.0.0/16 -j DROP
-A INPUT -s 120.37.237.75/32 -j DROP
-A INPUT -s 120.40.150.3/32 -j DROP
-A INPUT -s 120.71.1.107/32 -j DROP
-A INPUT -s 121.10.172.189/32 -j DROP
-A INPUT -s 121.204.0.0/16 -j DROP
-A INPUT -s 121.205.0.0/16 -j DROP
-A INPUT -s 121.206.0.0/16 -j DROP
-A INPUT -s 121.207.0.0/16 -j DROP
-A INPUT -s 125.77.0.0/16 -j DROP
-A INPUT -s 125.78.0.0/16 -j DROP
-A INPUT -s 125.79.0.0/16 -j DROP
-A INPUT -s 125.86.15.77/32 -j DROP
-A INPUT -s 153.0.152.162/32 -j DROP
-A INPUT -s 162.221.4.123/32 -j DROP
-A INPUT -s 162.244.13.18/32 -j DROP
-A INPUT -s 175.42.0.0/16 -j DROP
-A INPUT -s 175.44.0.0/16 -j DROP
-A INPUT -s 182.110.23.158/32 -j DROP
-A INPUT -s 192.151.152.170/32 -j DROP
-A INPUT -s 192.187.0.0/16 -j DROP
-A INPUT -s 198.204.225.122/32 -j DROP
-A INPUT -s 199.168.96.38/32 -j DROP
-A INPUT -s 211.162.34.10/32 -j DROP
-A INPUT -s 218.6.0.0/16 -j DROP
-A INPUT -s 218.85.0.0/16 -j DROP
-A INPUT -s 218.86.0.0/16 -j DROP
-A INPUT -s 220.160.0.0/16 -j DROP
-A INPUT -s 220.161.0.0/16 -j DROP
-A INPUT -s 220.162.0.0/16 -j DROP
-A INPUT -s 220.175.87.119/32 -j DROP
-A INPUT -s 220.200.25.47/32 -j DROP
-A INPUT -s 221.232.62.136/32 -j DROP
-A INPUT -s 222.76.0.0/16 -j DROP
-A INPUT -s 222.77.0.0/16 -j DROP
-A INPUT -s 222.78.0.0/16 -j DROP
-A INPUT -s 222.79.0.0/16 -j DROP
-A INPUT -s 223.25.0.0/16 -j DROP
-A INPUT -s 223.240.0.0/16 -j DROP

Linux屏蔽IP[转]

来源:http://blog.csdn.net/kongdeqian1988/article/details/7907357

#屏蔽单个IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即从123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP

service iptables save
service iptables restart

bash脚本学习(二)

端午这几天休息,好好琢磨了一下用bash脚本抓取网页、mysql入库等东西,也算小有所成,把区教育局的2010年以来的4000多条最新公告和学校快讯全部抓下来(没抓图片和附件,太占地方了),并且导入到了mysql数据库中,结合php小程序,可以方便的查询了。

一、从列表页面中抓取所有新闻的链接,存储为一个列表文件

#定义列表文件链接
url="http://***.***.***/node_116"
#由于列表文件分成三种情况,分别抓取
#抓取列表首页
curl $url".htm" | grep '' | sed "s/<a href="/n/g;s/" target/n/g;s/<[^>]+>//g" | grep ".htm" | head -20 | sed 's/^//xxzq/&/g' > newslist 
#上面的20是每页的新闻条数,以下相同
#抓取2-5页列表
for (( i = 2 ; i < 6 ; i ++))
do
	curl $url"_"$i".htm" | grep '' | sed "s/<a href="/n/g;s/" target=/n/g;s/<[^>]+>//g" | grep ".htm" | sed 's/^//xxzq/&/g' >> newslist 
done
#抓取6-153页
pageid=154
for (( i = 6 ; i < $pageid ; i ++))
do
	curl $url"_"$i".htm" | grep '' | sed "s/<a href="/n/g;s/">/n/g;s/<[^>]+>//g" | grep ".htm" | head -20 | sed 's/^//xxzq/&/g' >> newslist 
done

好了,打开newslist文件看看吧,全部链接抓取完成!

二、从列表文件中读取所有链接,抓取新闻

#定义抓取到的目录及链接根目录
dir='news/'
url="http://***.***.***"
#建立抓取到的目录
if [ ! -d $dir ];then
	mkdir $dir
fi
#从列表文件中读取链接并抓取新闻
for i in `cat newslist`
do
	filename=$dir2${i:25}
	curl $url$i > $filename 
done

三、生成sql文件并导入mysql数据库

#定义抓取到的页面目录
dir="news/"
#读取列表文件,将抓取到的htm文件处理成sql,并导入数据库(数据库字段下面有,自己看吧)
for i in `cat newslist`
do
	url="http://***.***.***"$i
	filename=${i:25}
	filenum=${filename%.*}
	sql=$dir$filenum".sql"
	txt=$dir$filenum".txt"
	filename=$dir$filename
#获取文件前面的新闻标题、发布人、发布时间等信息
	cat $filename | head -1 |  sed "s//n/;s/.0/n/;s/</author>/n/;s/</title>/n/;s/<[^>]+>//g;s/
$//g;s/ //g;s/^[ t]*//g;s/[ t]*$//g;" > $sql 
	title=`cat $sql | head -4 | tail -1 | sed 's/"/\"/g'`
	post=`cat $sql | head -3 | tail -1 | sed 's/"/\"/g'`
	posttime=`cat $sql | head -2 | tail -1`
#sql语句写入临时文件
	echo "INSERT INTO `news_article` (`news_id`,`news_web`,`news_type`,`news_url`,`news_title`,`news_post`,`news_posttime`,`news_content`) VALUES("","教育网","学校快讯","" | iconv -f gbk -t utf8 > tmpfile
#继续向临时文件写
	echo "$url","$title","$post","$posttime","" >> tmpfile
#新闻正文各种处理后,写入临时文件
	cat $filename | sed 's//n/g' | sed '1,2d' |  sed "s/<[^>]+>//g;s/
$//g;s/ //g" | tr 'n' ' ' | sed 's/^[ t]*//g;s/[ t]*$//g' | sed 's/"/\"/g' >> tmpfile
	echo "");" >> tmpfile
#去掉回车
	cat tmpfile | tr -d 'n' > $sql
#将新闻正文处理成一个文件,方便php调用
	cat $filename | sed 's//n/g' | sed '1,2d' | sed 's/</div>//;s/../../attachement/http://***.***.***/xxzq/attachement/g;s/../../site2/http://***.***.***/xzbg/site2/g' > $txt
#写入数据库
	mysql -uroot -ppassword dbname < $sql
done
#删除临时文件
rm tmpfile

从上面也应该可以看到,写入到数据库中的正文去掉了所有html标签,并且将段落回车替换成了空格,方便查询,而真正显示页面时,用file_get_contents来读取处理过的正文,去掉了头尾大量没用的信息,另外将图片和附件链接替换成原始链接。

第 4 页,共 49 页« 最新...23456...102030...最旧 »