文档章节

ITFriend创业阶段的服务器环境搭建手册

FansUnion
 FansUnion
发布于 2015/05/03 01:29
字数 1076
阅读 2
收藏 0

创业阶段,进一步实践了Linux环境搭建和维护,下面是一些常用软件的搭建步骤和参考资料,仅供自己和诸位参考。

我个人还是比较倾向“一站式Web开发”的,自己想做点事,需要太多的技能。

非商业软件项目,自己全盘负责比较灵活和高效。




1.mysql(关键是创建mysql用户,并用mysql用户执行安装程序)
  参考资料 http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html
  rpm -qa | grep mysql  // 这个命令就会查看该操作系统上是否已经安装了mysql数据库
  
  Mysql下载地址
  http://dev.mysql.com/downloads/file.php?id=451491
  
  http://blog.sina.com.cn/s/blog_694ac4520100zbbd.html
  
  ----------------------
  ./mysqld_safe --user=mysql &
  
  不能直接使用mysqld,以root用户的身份执行(--user=mysql,可以解决这个问题)
  2014-04-24 09:19:50 8011 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
  
  ./bin/mysqld --user=mysql &
  不要使用root用户,使用mysql用户
  
  mysql启动 
  http://swordshadow.iteye.com/blog/1921814
  
  //这种方式,有时候,不起作用,直接按Enter,mysql就被杀死了
  ./mysqld --user=mysql &
  
  可以使用nohup命令启动
  nohup /usr/bin/mysql --user=mysql &
------------------------
  启动报错
  
2014-04-24 09:25:09 8276 [Note] InnoDB: 128 rollback segment(s) are active.
InnoDB: Error: pthread_create returned 11


临时解决方法:


# ulimit -s unlimited


./mysqld_safe: line 166:  8796 Killed                 
 nohup /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/AY1404221737304200fcZ.err --pid-file=/usr/local/mysql/data/AY1404221737304200fcZ.pid < /dev/null >> /usr/local/mysql/data/AY1404221737304200fcZ.err 2>&1
140424 09:35:47 mysqld_safe Number of processes running now: 0


mysqld --basedir=/usr/local/mysql --datadir=/var/lib/mysql --user=mysql &


该方法在系统重启,或者重新登录后将失效。


另外一种方法:


修改/etc/profile文件,添加


ulimit -s unlimited
---------------卸载自带的mysql---------------
  rpm -qa |grep mysql
  卸载centos自带的mysql,rpm -e --nodeps mysql-libs-5.1.61-4.el6.x86_64
  
------------------------------------


2014-04-24 11:17:25 14210 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.


--------------------------------------------------------------------------
Can't find messagefile '/usr/share/mysql/errmsg.sys'
将源码包里面的sql/share/english/errmsg.sys复制到/usr/share/mysql/errmsg.sys 
----------------------------------------------------------------------------


[mysqld]
datadir=/home/mysql/mysql/data
basedir=/home/mysql/mysql
socket=/home/mysql/mysql/run/mysql.sock
log-error=/home/mysql/mysql/log/error.log
user=mysql
innodb_buffer_pool_size=100M
key_buffer_size=50M
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0


[mysqld_safe]
log-error=/home/mysql/log/mysqld.log
pid-file=/home/mysql/mysqld.pid


[client]
socket=/home/mysql/mysql/run/mysql.sock




grant all privileges on *.* to root@"%" identified by "lw198962" with grant option;  flush privileges;


./constraints_parser -5 -D -f pages-1400495572/FIL_PAGE_INDEX/0-161 >/tmp/t_bibasic_salessend.sql




#生成数据文件
./constraints_parser -5 -f pages-1400495572/FIL_PAGE_INDEX/4294967295-0 >/tmp/xiaolei_.sql


#生成load-data语句
./constraints_parser -5 -D -f pages-1400495572/FIL_PAGE_INDEX/4294967295-0


2.Redis配置
  http://hi.baidu.com/cxc0378/item/40f4b70e7fda603af3eafcbb
  
3.Mongodb
  /usr/local/mongodb/start-mongo


4.node
  下载二进制安装包,解压即可 
    
  export NODE_HOME=/usr/local/node/
  export PATH=$NODE_HOME/bin:$PATH 
  
  Linux下执行,
  ./node 
  
  //使用绝对路径
  forever start /var/www/trunk/bootstrap.js &
  forever stop /var/www/trunk/bootstrap.js &
  
  forever start -l /var/www/snsforever.log -o /var/www/snsout.log -e /var/www/snserr.log /var/www/sns/bootstrap.js   
  forever stop /var/www/sns/bootstrap.js   
 -------------------------------------------------------------------------
 关键:使用mysql用户
[mysql@itfriend mysql]$ scripts/mysql_install_db --user=mysql --basedir=/home/mysql/mysql --datadir=/home/mysql/mysql/data




服务器内存太小,没有交换区,手动修改
http://www.prowebdev.us/2012/05/amazon-ec2-linux-micro-swap-space.html


Run dd if=/dev/zero of=/swapfile bs=1M count=1024 
Run mkswap /swapfile 
Run swapon /swapfile 
Add this line /swapfile swap swap defaults 0 0 to /etc/fstab   


5.Nginx
 下载地址 http://nginx.org/download/,都是源码包,没有二进制安装包
 
 安装过程
 wget  http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
 yum install nginx-release...
 yum install nginx
 
 [root@itfriend bin]# find / -name nginx
/var/cache/yum/x86_64/6/nginx
/var/cache/nginx
/var/log/nginx
/var/lib/yum/repos/x86_64/6/nginx
/usr/share/nginx
/usr/sbin/nginx
/etc/sysconfig/nginx
/etc/logrotate.d/nginx
/etc/rc.d/init.d/nginx
/etc/nginx


启动 nginx


重新加载
nginx -s reload  


停止1
nginx -s quit  


停止2
ps -ef|grep enigx,找到master的进程号
kill -QUIT 24346
 
 静态资源被Ngnix拦截,直接响应浏览器
 http://114.215.191.169/images/fans123/photos/44813db99c67489523bd7edfb14e1bed7b7553a8.gif
 


 
 参考资料:
http://nginx.org/en/linux_packages.html
http://www.nginx.cn/
 
6.Linux命令
  修改密码: passwd root,输入2次密码
  
   /usr/local/mysql/bin/mysqld_safe --user=mysql
   cat /var/log/mysqld.log
   
   mysqladmin -u root password "11"
   
   /usr/local/mysql/bin/mysqladmin -u root password 11
   
   source/etc/profile是让/etc/profile文件修改后立即生效
   
   :tar zxvf 
 
 7.crontab
   crontab -e
   编辑自己这个用户的定时文件
   
   */1 * * * * /var/www/autobackup-mysql.sh
   每分钟执行一次
 
8.安装JDK
  查看可安装的java包yum list java*  
  yum install java-1.7.0-openjdk* -y  


  参考资料:http://blog.csdn.net/renfufei/article/details/9733367
 
9.安装Tomcat
  复制安装包,修改权限 chmod a+x *
  

© 著作权归作者所有

FansUnion
粉丝 60
博文 858
码字总数 825464
作品 0
丰台
高级程序员
私信 提问
【转帖】测试环境的搭建和维护

只要做过一次测试,就一定知道测试环境,但测试环境是如何搭建和维护的呢?就不一定所有人都明白了。 测试环境的搭建,每个公司都有不一样的流程和方法。一种是运维或者开发负责搭建和维护,...

12332111ss
2016/04/28
252
0
求北京创业公司加入

简历 一.基本介绍: 姓名:刘亮 生日:1990年5.31,家乡:安徽蚌埠,自考本科学历,,未婚单身,从小爱好计算机专业,喜欢geek文化. 兴趣爱好:爬山,羽毛球,台球.象棋,真人cs tel:15253220023 QQ:59572...

刘亮亮
2012/07/13
1K
19
discuz二次功能开发

【业务需求】 简介:本系统是使用的discuz系统做的平台,现在需要在前台加入一个可以发广告任务的模块功能。 功能:前台的任务展示页,任务的输入页,币种的转换。ip的监测限制,倒计时判断,静...

zb1496195618775
2017/08/17
1
0
PHP学习路线图 最全PHP自学指南

对于广大零基础的PHP自学者,往往不知道如何系统的学习PHP,导致平白浪费了很多时间。本文将为大家带来最详细的php学习路线图,同时还会附上相应的权威教程,让广大PHP自学者少走许多弯路。 ...

W3Cschool小编
2018/04/24
0
0
Moving to Docker(一)

【编者的话】本文是《Moving to Docker》系列的第一篇文章,这个系列的文章讲述了创业公司如何把基础服务迁移到Docker上,以及迁移过程中的经验教训。本文主要介绍了Touchware为什么要从Her...

DockOne
2015/01/31
2
0

没有更多内容

加载失败,请刷新页面

加载更多

linux下ctrl+c中止不了

有一台centos7的服务器,ctrl+c无效,并且tail -f也无效,只能关掉终端或者crtl+z放入后台再删掉,但是ping的时候使用ctrl+c是有效果的。 出现这种情况的原因可能是因为有人要使用ruby安装r...

gaolongquan
27分钟前
1
0
Android三年工作面经

工作三年出来看看新的机会,依次面试过如下公司: 小米(北京) iHandy(北京) 涂鸦智能(杭州) 微软(北京) 宜信(北京) 蚂蚁金服(杭州) 瓜子二手车(北京) 高德(北京) 基本上投递的简历都得到了面...

JerryLin123
30分钟前
2
0
开发函数计算的正确姿势——tensorflow serving

前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计...

阿里云云栖社区
34分钟前
7
0
社区角色(Kubernetes社区Maintainer是什么角色?)

社区成员按照角色,分为member、reviewer、approver、subproject owner。 下面我们介绍一下每个角色的职责和要求。 member reviewer approver subproject owner...

恋恋美食
51分钟前
1
0
【JavaScript】callee 与 caller

callee callee是函数参数arguments对象的一个属性,它指向参数arguments对象所在的函数自身。 function foo (x) {console.log(arguments.callee);return x;}foo(); 从控制台中可以看...

小草先森
54分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部