1.CentOS 6.2编译安装Nginx1.0.14+MySQL5.5.22+PHP5.3.10步骤分享
2.freebsd9.1源码安装apache.mysql.php环境
3.java后端如何对接SNMP\IPMI\syslog常用底层协议
4.syslog协议解析源码实现及Wireshark抓包分析
CentOS 6.2编译安装Nginx1.0.14+MySQL5.5.22+PHP5.3.10步骤分享
说明:操作系统:CentOS 6.2 位
准备篇:
一、源码配置好IP、安装DNS 、源码网关,安装确保使用远程连接工具能够连接服务器
二、源码配置防火墙,安装微信小程序源码 源码开启端口、源码端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT(允许端口通过防火墙)
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT(允许端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的安装最后一行,导致防火墙启动失败,源码正确的安装应该是添加到默认的端口这条规则的下面
添加好之后防火墙规则如下所示:
#########################################################
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
#########################################################
/etc/init.d/iptables restart #最后重启防火墙使配置生效
三、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq 保存,源码关闭
shutdown -r now #重启系统
四 、安装系统约定
软件源代码包存放位置:/usr/local/src
源码包编译安装位置:/usr/local/软件名字
五、源码下载软件包
1、安装下载nginx(目前稳定版)
.php.net/distributions/php-5.3..tar.gz
5、源码下载cmake(MySQL编译工具)
f /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
vi /etc/my.cnf #编辑配置文件,在 [mysqld] 部分增加
datadir = /data/mysql #添加MySQL数据库路径
./scripts/mysql_install_db --user=mysql #生成mysql系统数据库
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动
chmod /etc/init.d/mysqld #增加执行权限
chkconfig mysqld on #加入开机启动
vi /etc/rc.d/init.d/mysqld #编辑
basedir = /usr/local/mysql #MySQL程序安装路径
datadir = /data/mysql #MySQl数据库存放目录
service mysqld start #启动
vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行
export PATH=$PATH:/usr/local/mysql/bin
下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
shutdown -r now #需要重启系统,simulink模糊pid源码等待系统重新启动之后继续在终端命令行下面操作
mysql_secure_installation #设置Mysql密码
根据提示按Y 回车输入2次密码
或者直接修改密码/usr/local/mysql/bin/mysqladmin -u root -p password "" #修改密码
service mysqld restart #重启
到此,mysql安装完成!
五、安装 nginx
groupadd www #添加www组
useradd -g www www -s /bin/false #创建nginx运行账户www并加入到www组,不允许www用户直接登录系统cd /usr/local/src
tar zxvf nginx-1.0..tar.gz
cd nginx-1.0.
./configure --prefix=/usr/local/nginx --user=www --group=www --with-tl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl #配置
make #编译
make install #安装
cp php.ini-production /usr/local/php5/etc/php.ini #复制php配置文件到安装目录
rm -rf /etc/php.ini #删除系统自带配置文件
ln -s /usr/local/php5/etc/php.ini /etc/php.ini #添加软链接
cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件
vi /usr/local/php5/etc/php-fpm.conf #编辑
user = www #设置php-fpm运行账号为www
group = www #设置php-fpm运行组为www
pid = run/php-fpm.pid #取消前面的分号
设置 php-fpm开机启动
cp /usr/local/src/php-5.3./sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷贝php-fpm到启动目录
chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
chkconfig php-fpm on #设置开机启动
vi /usr/local/php5/etc/php.ini #编辑配置文件
找到:;open_basedir =
修改为:open_basedir = .:/tmp/ #防止php木马跨站,重要!!
找到:disable_functions =
修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
找到:;date.timezone =
修改为:date.timezone = PRC #设置时区
找到:expose_php = On
修改为:expose_php = OFF #禁止显示php版本的信息
找到:display_errors = On
修改为:display_errors = OFF #关闭错误提示
七、配置nginx支持php
vi /usr/local/nginx/conf/nginx.conf
修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改
user www www; #首行user去掉注释,修改Nginx运行组为www www;必须与/usr/local/php5/etc/php-fpm.conf中的user,group配置相同,否则php运行出错
index index.php index.html index.htm; #添加index.php
# pass the PHP scripts to FastCGI server listening on .0.0.1:
#
location ~ /.php$ {
root html;
fastcgi_pass .0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
/etc/init.d/nginx restart #重启nginx
八、配置php支持Zend Guard
安装Zend Guard
cd /usr/local/src
mkdir /usr/local/zend #建立Zend安装目录
tar xvfz ZendGuardLoader-php-5.3-linux-glibc-i.tar.gz #解压安装文件
cp ZendGuardLoader-php-5.3-linux-glibc-i/php-5.3.x/ZendGuardLoader.so /usr/local/zend/ #拷贝文件到安装目录
vi /usr/local/php5/etc/php.ini #编辑文件
在最后位置添加以下内容
[Zend Guard]
zend_extension=/usr/local/zend/ZendGuardLoader.so
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
测试篇
cd /usr/local/nginx/html/ #进入nginx默认网站根目录
rm -rf /usr/local/nginx/html/* #删除默认测试页
vi index.php #新建index.php文件
?php
phpinfo();
?
:wq! #保存
chown www.www /usr/local/nginx/html/ -R #设置目录所有者
chmod /usr/local/nginx/html/ -R #设置目录权限
shutdown -r now #重启
在客户端浏览器输入服务器IP地址,可以看到相关的配置信息!
service nginx restart #重启nginx
service mysqld restart #重启mysql
/usr/local/php5/sbin/php-fpm #启动php-fpm
/etc/rc.d/init.d/php-fpm restart #重启php-fpm
/etc/rc.d/init.d/php-fpm stop #停止php-fpm
/etc/rc.d/init.d/php-fpm start #启动php-fpm
#############################################################################
备注:
nginx默认站点目录是:/usr/local/nginx/html/
权限设置:chown www.www /usr/local/nginx/html/ -R
MySQL数据库目录是:/data/mysql
权限设置:chown mysql.mysql -R /data/mysql
到此,CentOS 6.2下 Nginx1.0.+MySQL5.5.+PHP5.3.+Zend Guard Loader基本运行环境搭建完成!ip并发源码
freebsd9.1源码安装apache.mysql.php环境
新手不建议用源码安装,请慎重1.安装9.1系统
2.通过Sysinstall安装预装软件
=========================================================
3.安装Linux_libio兼容包
rc.conf 增加一句linux_enable=true 应该是 linux_enable="YES"
========================================================
4.通过ports安装SSH守护进程(ports/security/sshgard)
5.通过Ports安装加密相关的软件(ports/security/mcrypt)
6.安装MYSQL
7.安装apr(/configure ,make install clean)
8.安装apr-util1.5.1(/configure --with-apr=/usr/local/apr)
9.安装Apache
. 安装PHP
.安装FastCGI
.安装Xcache
.安装Memcache
.安装Proftpd
Freebsd支持中文.txt
设置全局的 locale 参考下面方法:
vi /etc/login.conf
最后增加这个:
chinese:Chinese Users Accounts:/
:charset=UTF-8:/
:lang=zh_CN.UTF-8:/
:tc=default:
然后修改你的passwd文件,使用vipw命令
user:password:::language:0:0:User Name:/home/user:/bin/sh
language位置写入chinese,关联上你的locale。
export LC_CTYPE="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"
需要更新一下数据库,使用 cap_mkdb /etc/login.conf
登出再登录,使用命令 locale 就可以看到你的 locale 已经修改完成了
php需要环境.txt
1.curl,gd,mbstring,jpeg,png,php_memcache,xcache,mysql,apache
安装时都需要指定安装目录
Robin_预装包.txt
通过Sysinstall安装(光盘)
1.archives:libzip;zip;unzip
2.databases: sqlite
3.converters: libiconv(php用于编码转换)
4.devel: pre-8.l(Apache);perl-5..4.3
5.emulators: linux_base兼容包
6.FTP: curl-1..3.2
7.graphics: giflib-4.1.6 ; jpeg-8.3 ; libexif-0.6. ; png-1.4.8
8.lang: perl-5..4.3 ; python ; ruby
9.all: libxml2-7.8-1 , freetype
ports/emulators/linux_libauo
ports/security/sshguard
ports/security/mcrypt
kldstat 命令内核挂载情况,是否关在linux.ko
开始安装
1、安装mysql
创建用户组mysql
shellpw groupadd mysql
添加用户至用户组
shell pw useradd -r -g mysql mysql
解压:因为mysql是已经编译好的版本,因此无需安装
cd /soft
tar –vzxf mysql-5.6..tar.gz 解压
mv mysql-5.6.-free* /usr/local/servers/mysql
cd /usr/local/shadow/mysql
chown –R mysql . 更改当前文件夹下所有文件的用户(注意后面有.)
chgrp –R mysql . 更改当前文件夹下所有文件的组
./scripts/mysql_install_db –user=mysql 安装mysql服务,会生成一个my.cnf的配置文件
chown –R root . 修改mysql文件夹内所有文件用户为root
chown –R mysql data修改mysql文件夹内data文件夹用户为mysql
./bin/mysqld_safe –user=mysql 启动mysql服务
./bin/mysql –u root –p 密码为空
use mysql
Delete from user where host’.0.0.1’;
select host,user,password from user;
update user set host=’%’,password=password(‘shadow’); //修改登录ip为任意;密码为shadow
flush privileges; //刷新mysql帐号权限
然后远程连一下数据库试试吧。。
初始化root密码
bin/mysqladmin -u root password 'newpassword'
bin/mysqladmin –u root password
./mysqladmin -u root -p password ''
然后系统会询问你现在的密码,你输入现在的密码回车就可以了
下次使用MYSQL的时候,ROOT 的口令就是了
测试帐号
bin/mysql –u root –p
然后输入密码,出现提示符:
mysql
技巧提示:
mysql #运行mysql 客户端,并开放root用户的远程访问权限。以便调试
use mysql
update user set host = '%' where user = 'root' and host 'localhost';
flush privileges;
quit
2、apache安装
Step 1
编译Apache的动态表头java源码要求
1. 磁盘空间 2.ANSI- C编译器及编译环境 3.确保准确的时间 4.Perl5 [可选]
5. apr/apr-util = 1.2
需要先下载 apr-1.4.6.tar.gz 和 apr-util-1.5.1.tar.gz
配置并安装 地址 plete."字样,那么就可以进行安装了:
(make编译时fpm模块出错:解决办法php5.4./sapi/fpm/fpm/fpm_sockets.c文件修改三处代码 info.tcpi_sacked 改为: info.__tcpi_sacked
info.tcpi_unacked 改为: info.__tcpi_unacked)
make install
完成即可 可以平滑重启
3、拷贝php配置文件
cp php.ini-development(开发模式) 或者production生产模式 /usr/local/servers/php/etc/php.ini
修改php.ini
disable_functions =system,exec,shell_exec,passthru,ini_alter,dl,pfsockopen,openlog,syslog,readlink,symlink,link,
leak,popen,escapeshellcmd,apache_child_terminate,apache_get_modules,apache_get_version,
apache_getenv,apache_note,apache_setenv,virtual;,phpinfo
4、修改配置
修改/usr/local/servers/php/etc/php.ini文件(新版本可能不需要)
register_globals = On
修改/usr/local/apache/conf/ /www
输入后,会提示输入用户的密码,密码不能太长,不能有特殊字符。
注意,以上路径需根据各服务具体路径而定
www1:*:::User :/home/www1:/usr/sbin/nologin
www2:*:::User :/home/www2:/usr/sbin/nologin
www3:*:::User :/home/www3:/usr/sbin/nologin
www4:*:::User :/home/www4:/usr/sbin/nologin
www5:*:::User :/home/www5:/usr/sbin/nologin
www6:*:::User :/home/www6:/usr/sbin/nologin
www7:*:::User :/home/www7:/usr/sbin/nologin
www8:*:::User :/home/www8:/usr/sbin/nologin
www9:*:::User :/home/www9:/usr/sbin/nologin
java后端如何对接SNMP\IPMI\syslog常用底层协议
岗位职责
1、负责监控系统的研发以及平台工具建设;
2、承担监控系统开发任务,保证开发质量和效率;
3、优化代码架构,实施技术改进;
4、独立设计关键系统模块并实施;
5、快速响应并定位解决线上问题;
6、参与数据中心基础元数据管理系统的开发,实现资源线上全生命周期管理。
岗位要求
1、大专及以上学历,网页查题源码有数据中心DCM相关工作经验者优先;
2、精通Java,熟悉Spring、Mybatis、SpringMvc、SpringBoot框架;
3、3年以上主流运维工具使用和开发经验,了解Zabbix,Prometheus,Nagios等;
4、具有监控系统开发经验,熟悉SNMP、IPMI、syslog等底层协议;
5、掌握MySQL、Redis、Mongodb、Polardb等数据存储技术;
6、熟悉Promethus、Grafana、Skywalking等开源组件,对源码有深入了解者优先;
7、具备良好的编码习惯,熟悉面向对象编程;
8、了解Docker、K8S原理,有实际应用经验者优先;
9、具备学习能力、团队协作能力,自我驱动能力强,抗压能力佳,团队精神强。
企业简介
专注IT基础架构和信息安全领域,提供从方案设计、硬件交付、部署实施到售后巡检的全面服务。
企业规模
全国四地五中心,超人的团队,连续九年的营收增长。
业务范围
与多家知名厂家合作,提供计算、存储、网络、安全领域解决方案。
技术团队
拥有行业认证的技术工程师,实行标准化管理,确保技术服务的质量。
服务案例
服务过+企事业单位,涵盖制造业、互联网、高新技术企业、高等院校等。
企业使命
简化并确保数字化转型的顺利进行。
核心价值观
分享、尊重、共进、卓越。
syslog协议解析源码实现及Wireshark抓包分析
对syslog协议进行解析,了解其发展史与新标准RFC。RFC取代了RFC,对syslog协议进行了改进,特别是遵循了RFC的时间戳规范,确保消息中包含年份、月份、日期、小时和秒。
Syslog协议由Eric Allman编写,通过UDP端口通信。协议的PRI部分以“<”开始,包含设施(Facility)和级别(Level)。Facility为Unix系统定义,预留了User(1)与Local use(~)给其他程序使用。Level指示消息优先级,数值在0到7之间。
VERSION字段表示协议版本,用于更新HEADER格式,包括添加或删除字段。本文件使用VERSION值“1”。TIMESTAMP字段遵循[RFC]格式,提供时间戳,需包含年份。
HOSTNAME字段标识发送系统日志消息的主机,包含主机名与域名。APP-NAME字段标识设备或应用程序发出消息,用于过滤中继器或收集器上的消息。PROCESS ID字段提供流程名称或ID,用于检测日志不连续性。MESSAGE ID字段标识消息类型,用于过滤中继器或收集器上的消息。
实现syslog协议解析,通过Wireshark抓包分析字段含义。Syslog在UDP上运行,服务器监听端口,用于日志传输。遵循的规范主要有RFC与RFC。RFC目前作为行业规范。
欢迎关注微信公众号程序猿编码,获取syslog源代码和报文资料。
2024-11-30 07:11
2024-11-30 07:10
2024-11-30 05:46
2024-11-30 05:44
2024-11-30 04:56
2024-11-30 04:51