- [root@rhel6u3-4 ~]# uname -r
- 2.6.32-279.el6.i686
- [root@rhel6u3-4 ~]# cat /etc/redhat-release
- Red Hat Enterprise Linux Server release 6.3 (Santiago)
- [root@rhel6u3-4 ~]#
- [root@rhel6u3-4 ~]# cd mypackages/
- [root@rhel6u3-4 mypackages]# ll
- -rwxr-xr-x. 1 root root 982243 Dec 18 07:24 apr-1.4.6.tar.gz
- -rwxr-xr-x. 1 root root 774770 Dec 18 07:24 apr-util-1.4.1.tar.gz
- -rw-r--r--. 1 root root 9489788 Mar 1 19:21 Discuz.zip
- -rwxr-xr-x. 1 root root 1273059 Dec 18 07:24 gd-2.0.34.tar.gz
- -rwxr-xr-x. 1 root root 5616185 Dec 18 07:24 httpd-2.4.2.tar.gz
- -rwxr-xr-x. 1 root root 875425 Dec 18 07:24 libmcrypt-2.5.8.tar.bz2
- -rwxr-xr-x. 1 root root 655906 Dec 18 07:24 mhash-0.9.9.9.tar.bz2
- -rwxr-xr-x. 1 root root 24660795 Dec 18 07:25 mysql-5.5.25a.tar.gz
- -rwxr-xr-x. 1 root root 14060505 Dec 18 07:25 php-5.4.4.tar.gz
- -rwxr-xr-x. 1 root root 782725 Dec 18 07:25 re2c-0.13.5.tar.gz
- -rwxr-xr-x. 1 root root 134833 Dec 18 07:25 xcache-2.0.1.tar.gz
- -rw-r--r--. 1 root root 4323279 Dec 11 2009 phpMyAdmin-2.11.0-all-languages.tar.gz
- [root@rhel6u3-4 mypackages]#
二、开始安装部署LAMP
脚本如下
- [root@rhel6u3-4 mypackages]# vim packages \\由于整个环境会涉及比较多的依赖关系包,所以我们先将一些依赖包装上。(根据不同的环境可能不仅限于这些包)这里创建了一个安装依赖包的函数,在脚本中调用即可.
- #Install install LAMP from dependent Packages!
-
- PKG='gcc-c++ flex bison autoconf automake libpng-devel libjpeg-devel freetype-devel openjpeg-libs fontconfig-devel libXpm-devel cmake ncurses-devel apr-devel pcre-devel apr-util-devel openssl-devel libxml2-devel curl-devel' \\可以将所需要的包全部卸载里面进行安装
- \\以下是个查询包是否安装机制,如果没有安装则安装
- for i in $PKG
- do
- rpm -q $i &> /dev/null
- [ $? -ne 0 ] && UNPKG="$UNPKG $i"
- done
- [ -n "$UNPKG" ] && yum install $UNPKG -y
- echo "Dependent Packages install OK...."
- [root@rhel6u3-4 mypackages]#
- [root@rhel6u3-4 mypackages]# vim lamp.sh //以下是LAMP搭建脚本
- #!/bin/bash
- #install LAMP from Source Packages
- #Designed by xiaonuo http://dreamfire.blog.51cto.com www.rsyslog.org
- #If you have any questions,please send e-mail to yum.linux@gmail.com
-
- #install dependent Package for LAMP, Please submit all source package into the directory ~/mypackages!
- mkdir -p ~/mypackages
- yum clean all
- yum makecache
- . ~/mypackages/packages \\调用函数安装系统依赖包
- \\除了这些redhat光盘自带的包以外,还有一些其他的源码包。
- #install GD2 \\GD2是一个生成图片所使用的依赖包
- cd ~/mypackages/
- tar xf gd-2.0.34.tar.gz
- cd gd-2.0.34
- ./configure --prefix=/usr/local/gd2
- make && make install
-
- #install apr \\apr是apache的一个依赖包,虽然系统是自带这个包,但是版本太低,不适用于apache2.4版本。
- cd ~/mypackages/
- tar xf apr-1.4.6.tar.gz
- cd apr-1.4.6
- ./configure --prefix=/usr/local/apr
- make && make install
-
- #install apr-util
- cd ~/mypackages/
- tar xf apr-util-1.4.1.tar.gz
- cd apr-util-1.4.1
- ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
- make && make install
-
- # install libmcrypt mhash \\linmcrypt与mhash是php会依赖的一些包
- cd ~/mypackages/
- tar xf libmcrypt-2.5.8.tar.bz2
- cd libmcrypt-2.5.8
- ./configure --prefix=/usr/local/libmcrypt
- make && make install
-
- cd ~/mypackages/
- tar xf mhash-0.9.9.9.tar.bz2
- cd mhash-0.9.9.9
- ./configure --prefix=/usr/local/mhash
- make && make install
-
- #install mysql-5.5.25 and configure mysql! \\Mysql这些选择的是mysql5.5版本,些版本一改原有的编译方式,使用cmake代替了原来的configure。
- useradd mysql
- cd ~/mypackages/
- tar xf mysql-5.5.25a.tar.gz
- cd mysql-5.5.25a
- cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/var/lib/mysql
- cmake . -LH查看帮助,类似于./configure –help
- -DCMAKE_INSTALL_PREFIX= 指定安装主目录
- -DMYSQL_DATADIR 指定库文件存放目录
- -DMYSQL_UNIX_ADDR 指定socket文件所在路径
- -DDEFAULT_CHARSET 指定使用的默认字符编码
- -DDEFAULT_COLLATION 指定使用的默认字符规则
- -DWITH_EXTRA_CHARSETS 其他字符码支持
- -DWITH_MYISAM_STORAGE_ENGINE 编译myisam存储引擎
- -DWITH_INNOBASE_STORAGE_ENGINE 编译innodb存储引擎
- -DWITH_READLINE 增加readline支持,通过 readline,可以方便的在命令行上面移动,增删,复制,粘贴,搜索。
- -DENABLED_LOCAL_INFILE 让mysql支持从本地文件导入数据库\\
- make && make install
-
- cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf
- sed -i '37iuser = mysql' /etc/my.cnf
- mkdir /var/lib/mysql/
- chown mysql. /var/lib/mysql
- echo "export PATH=$PATH:/usr/local/mysql/bin/" >> ~/.bashrc
- . ~/.bashrc
- /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql --basedir=/usr/local/mysql --builddir=/usr/local/mysql
-
- cp ~/mypackages/mysql-5.5.25a/support-files/mysql.server /etc/init.d/mysqld \\创建启动脚本
- chmod 755 /etc/init.d/mysqld
- service mysqld start
- chkconfig --add mysqld
- mysqladmin password '123.com' \\创建root密码
-
- #install httpd
- cd ~/mypackages/
- tar xf httpd-2.4.2.tar.gz
- cd httpd-2.4.2
- ./configure --prefix=/usr/local/apache2 --enable-cache --enable-cache-disk --enable-so --enable-sed --enable-http --enable-mpms-shared=all --enable-cgid --enable-rewrite --enable-vhost-alias --enable-ssl --with-mpm=event --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
- make && make install
- /usr/local/apache2/bin/apachectl start
- links -dump 127.0.0.1 \\完成之后记得测试httpd环境是否OK
- echo 'If you see It works!,Congratulation! Please press enter '
- #read \\如果你不放心,可以设置断点,先测试网站是否可以访问,如果OK,按回车继续即可
-
- ## install php
- cd ~/mypackages/
- tar xf php-5.4.4.tar.gz
- cd php-5.4.4
- ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-config-file-scan-dir=/usr/local/php/etc/php.d --with-mysqli=/usr/local/mysql/bin/mysql_config --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --with-pdo-mysql=/usr/local/mysql/ --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt=/usr/local/libmcrypt/ --with-gd --enable-gd-native-ttf --with-openssl --with-mhash=/usr/local/mhash/ --enable-pcntl --enable-sockets --enable-zip --enable-soap --with-apxs2=/usr/local/apache2/bin/apxs --enable-cgi --disable-cli
- php常见参数介绍
- --with-config-file-path与--with-config-file-scan-dir在指定php配置文件的路径
- --with-mysql和--with-mysqli在指定你的mysql的位置和它的相关工具
- --with-iconv-dir,--with-freetype-dir,-with-jpeg-dir,--with-png-dir,--withgd,--with-zlib,--with-libxml-dir这些都是在启用对某种文件的支持
- --with-curl和--with-curlwrappers是用于支持curl函数,此函数允许你用不同的协议连接和沟通不同的服务器
- --with-openssl,--with-mhash,--with-mcrypt这都是和加密有关的参数,启用它们是为了让php可以更好的支持各种加密。
- "--enable-bcmath" 高精度数学运算组件。
- "--enable-shmop" 和 "--enable-sysvsem" 使得你的PHP系统可以处理相关的IPC函数 。IPC是一个Unix标准通讯机制,它提供了使得在同一台主机不同进程之间可以互相通讯的方法。
- "--enable-inline-optimization" 栈堆指针和优化线程。
- "--enable-pcntl" 多线程优化。
- make && make install
- mkdir /usr/local/php/etc
- cp ~/mypackages/php-5.4.4/php.ini-production /usr/local/php/etc/php.ini
-
- #install re2c xcache \\XCache是一个开源的opcode和var的缓存器,其工作原理是通过内存来缓存php的编译结果,当用户读取php网页时后台的php编译器不参加编译工作,而是将内存中的结果直接供用户读取,从而减轻频繁编译对服务器造成的压力。与同类的apc、eaccelerator相比XCache具有覆盖速度快、大流量/高负载的机器上运行稳定、能够快速跟进php版本。安装xcache之前先安装xcache的一个信赖包re2c。之后安装xcache
- cd ~/mypackages/
- tar xf re2c-0.13.5.tar.gz
- cd re2c-0.13.5
- ./configure
- make && make install
- cd ~/mypackages/
- tar xf xcache-2.0.1.tar.gz
- cd xcache-2.0.1
- /usr/local/php/bin/phpize
- ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config --enable-xcache-optimizer --enable-xcache-assembler --enable-xcache-encoder --enable-xcache-decoder
- make && make install
-
- #Configure Xcache
- cp -r ~/mypackages/xcache-2.0.1/admin/ /usr/local/apache2/htdocs/
- chmod 755 /usr/local/apache2/htdocs/admin
- chmod a+r /usr/local/apache2/htdocs/admin/*
- mkdir -p /usr/local/php/etc/php.d
- cp ~/mypackages/xcache-2.0.1/xcache.ini /usr/local/php/etc/php.d/
-
- #vim /usr/local/php/etc/php.d/xcache.ini
- XCACHE=$(find /usr/local/php/ -name xcache.so) \\创建一个变量内容为xcache.so的路径
- sed -i "s%/usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache\.so%$XCACHE%" /usr/local/php/etc/php.d/xcache.ini
- sed -i 's%mOo%admini%' /usr/local/php/etc/php.d/xcache.ini \\创建用户名为admini
- sed -i 's%^xcache\.admin\.pass.*%xcache.admin.pass = "cbff36039c3d0212b3e34c23dcde1456"%' /usr/local/php/etc/php.d/xcache.ini \\创建密码为123.com, xcache.admin.pass 是一个通过md5加密之后的密码
- cat >> /usr/local/apache2/htdocs/phpinfo.php <<endf \\创建PHP测试
- <?php
- phpinfo();
- ?>;
- endf
- echo "please input http://127.0.0.1/phpinfo.php to IE! if it's ok,please press enter "
- #read\\可设置断点测试php是否OK
-
-
- #vim /usr/local/apache2/conf/httpd.conf \\配置apache与php集成
- sed -i '375iAddType application/x-httpd-php \.php' /usr/local/apache2/conf/httpd.conf \\在375行下面插入一行
- sed -i 's%index\.html%index.html index.php%' /usr/local/apache2/conf/httpd.conf \\写上index.php主页
- sed -i '/httpd-mpm\.conf/s/#//' /usr/local/apache2/conf/httpd.conf
- sed -i '/httpd-vhosts\.conf/s/#//' /usr/local/apache2/conf/httpd.conf \\开启虚拟主机
- sed -i '/httpd-info\.conf/s/#//' /usr/local/apache2/conf/httpd.conf
- sed -i '/httpd-default\.conf/s/#//' /usr/local/apache2/conf/httpd.conf
- \\注意:以上 4 个扩展配置文件中的设置需要根据实际需要进行更改。
- mkdir -p /usr/local/apache2/htdocs/bbs \\创建虚拟主机目录,可更换为其他目录
- #vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
- cat >/usr/local/apache2/conf/extra/httpd-vhosts.conf <<endf
- NameVirtualHost *:80
- <VirtualHost *:80> \\创建虚拟主机1,用于配置访问DZ论坛
- ServerAdmin webmaster@rsyslog.org
- DocumentRoot "/usr/local/apache2/htdocs/bbs"
- ServerName bbs.rsyslog.org
- ErrorLog "logs/bbs.rsyslog.org-error_log"
- CustomLog "logs/bbs.rsyslog.org-access_log" common
- </VirtualHost>
-
- <VirtualHost *:80> \\配置虚拟主机2,用于访问xcache管理页面以及md5加密生成页面
- ServerAdmin webmaster@rsyslog.org
- DocumentRoot "/usr/local/apache2/htdocs/admin"
- ServerName admin.rsyslog.org
- ErrorLog "logs/admin.rsyslog.org-error_log"
- CustomLog "logs/admin.rsyslog.org-access_log" common
- </VirtualHost>
- endf
- /usr/local/apache2/bin/apachectl stop
- /usr/local/apache2/bin/apachectl start
- #http://admin.rsyslog.org/index.php Look xcache status! Need input username and password!
- #http://admin.rsyslog.org/mkpassword.php Create MD5 password
- #http://bbs.rsyslog.org/install Install Discuz
- #http://bbs.rsyslog.org Access Discuz!
- \\以上脚本结束
- 请在DNS中添加A记录
- bbs A 192.168.100.104
- admin A 192.168.100.104
实验结果如下:
实验扩展- [root@rhel6u3-4 admin]# mkdir /usr/local/apache2/htdocs/admin/phpmyadmin
- [root@rhel6u3-4 mypackages]# tar xf phpMyAdmin-2.11.0-all-languages.tar.gz
- [root@rhel6u3-4 mypackages]# cp -rp phpMyAdmin-2.11.0-all-languages/* /usr/local/apache2/htdocs/admin/phpmyadmin/
- [root@rhel6u3-4 mypackages]# cd /usr/local/apache2/htdocs/admin/phpmyadmin/
- [root@rhel6u3-4 phpmyadmin]# cp -p config.sample.inc.php config.inc.php
- [root@rhel6u3-4 phpmyadmin]# vim config.inc.php
- $cfg['blowfish_secret'] = 'rsyslog.org';
以上为最简单的配置,可以看到phpmyadmin可以对数据库进行备份恢复、对表进行填写修改删除等操作,相对于命令操作而言还是挺方便的。- [root@rhel6u3-4 admin]# vim /usr/local/php/etc/php.ini
- disable_functions = phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,
- proc_open,proc_get_status,error_log,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,sy mlink,leak, popepassthru,stream_socket_server
3、 给论坛导入数据(一个游戏论坛的数据,呵呵!)
- [root@rhel6u3-4 mypackages]# cp dbbackup.sql /var/lib/mysql/
- [root@rhel6u3-4 mysql]# mysql -uroot –p
- mysql> use dz_bbs
- mysql> source dbbackup.sql
后面陆续会讲 web层的负载均衡,负载均衡层的高可用,数据库的负载均衡等等我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server
导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri
一、引擎主循环UE版本:4.27一、引擎主循环的位置:Launch.cpp:GuardedMain函数二、、GuardedMain函数执行逻辑:1、EnginePreInit:加载大多数模块int32ErrorLevel=EnginePreInit(CmdLine);PreInit模块加载顺序:模块加载过程:(1)注册模块中定义的UObject,同时为每个类构造一个类默认对象(CDO,记录类的默认状态,作为模板用于子类实例创建)(2)调用模块的StartUpModule方法2、FEngineLoop::Init()1、检查Engine的配置文件找出使用了哪一个GameEngine类(UGame
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
@作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors 1、什么是behaviors 2、behaviors的工作方式 3、创建behavior 4、导入并使用behavior 5、behavior中所有可用的节点 6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors 1、什么是behaviorsbehaviors是小程序中,用于实现
ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear
A/ctohttp://wiki.nginx.org/CoreModule#usermaster进程曾经以root用户运行,是否可以以不同的用户运行nginxmaster进程? 最佳答案 只需以非root身份运行init脚本(即/etc/init.d/nginxstart),就可以用不同的用户运行nginxmaster进程。如果这真的是你想要做的,你将需要确保日志和pid目录(通常是/var/log/nginx&/var/run/nginx.pid)对该用户是可写的,并且您所有的listen调用都是针对大于1024的端口(因为绑定(
(本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展 是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。 如:有三个人,每个人做的不同的事物,但是是需要协作的完成。 而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据
1.回顾.TransportServicepublicclassTransportServiceextendsAbstractLifecycleComponentTransportService:方法:1publicfinalTextendsTransportResponse>voidsendRequest(finalTransport.Connectionconnection,finalStringaction,finalTransportRequestrequest,finalTransportRequestOptionsoptions,TransportResponseHandlerT>