服务器环境搭建
来源:互联网 发布:ubuntu gcc 安装包 编辑:程序博客网 时间:2024/06/05 11:20
安装&注意点
apt-get install build-essential(gcc基本环境)
apt-get install gcc
apt-get install g++
yum install gcc
yum install gcc-c++
1.mysql
1.下载mysql源码包
1.5 删除残留的mysql
删除 mysql
sudo apt-get autoremove --purge mysql-server-5.1
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common (非常重要)
上面的其实有一些是多余的,建议还是按照顺序执行一遍
清理残留数据
2.安装依赖包
cmake
wget http://www.cmake.org/files/v2.8/cmake-2.8.6.tar.gz
tar zxvf cmake-2.8.6.tar.gz
cd cmake-2.8.6
./configure
make
make install
3.
#添加 mysql 用户组/用户
配置编译参数,开始编译
#编译安装
#设置目录权限属性
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
#将 mysql 配置文件复制到系统的配置文件夹中
cp support-files/my-small.cnf /etc/my.cnf
chown mysql:mysql /etc/my.cnf
#数据库初始化
添加到系统服务&开机启动
#将mysql的启动服务添加到系统服务中
cp support-files/mysql.server /etc/init.d/mysql.server
service mysql.server start
#停止mysql服务
service mysql.server stop
#重启mysql服务
service mysql.server restart
chkconfig --add mysql.server
2.nginx
groupadd nginx #添加nginx 组useradd -g nginx nginx -s /bin/false #创建nginx运行账户www并加入到www组,不允许www用户直接登录系统
cd nginx-1.0.12
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_realip_module --with-pcre=/data/soft/pcre-8.35 --with-openssl=/data/soft/openssl-1.0.1g --with-zlib=/data/soft/zlib-1.2.8
make
3.php(php-fpm)
前戏、php常用扩展的软件
yum -y install libtool
yum -y install zlib
yum -y install freetype
yum -y install libpng
yum -y install jpegsrc //
yum -y install libpng-devel
yum -y install libjpeg-devel
yum -y install freetype-devel
yum -y install libxml2
yum -y install libxml2-devel
yum -y install pcre-devel
yum -y install curl
yum -y install curl-devel
yum -y install openssl
yum install php-mcrypt libmcrypt libmcrypt-devel
PHP5.5+
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/lib --with-curl --with-gd --enable-gd-jis-conv --enable-gd-native-ttf --with-mysql --with-mysqli --enable-fpm --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-debug --enable-mbstring --enable-soap --enable-sockets --enable-zip --with-openssl-dir --with-mcrypt --with-pdo-mysql --without-pdo-sqlite --without-pear --enable-opcache
yum install openssl openssl-devel才能装上--with-openssl-dir
- –enable-opcache:这个配置是在5.5中新增的。Zend Opcache已被集成到PHP 5.5的核心中,这个配置用于在你编译PHP 5.5时启用opcache。它默认是禁用的。
export PATH
4.memcached
memcached -p 11211 -l 127.0.0.1 -d -u nobody -P /data/run/memcached/memcached.pid -m 64M -c 32
telnet localhost 11211
5.apache
AllowOverride None
改为
Options FollowSymLinks
AllowOverride All
6.redis
服务的运维
1.apache
apachectl configtest
apache2ctl configtest
/var/www/bin/httpd -k restart
2.nginx
3.php-fpm
master进程可以理解以下信号
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块
{phpdir}/sbin/php-fpm
php-fpm 关闭:
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
php-fpm 重启:
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
4.mysql
10、只需本机使用Mysql服务,在启动时还可以加上--skip-networking参数使Mysql不监听任何TCP/IP连接
(./safe_mysqld --skip-networking &),增加安全性。(非常推荐)
service mysqld restart
2、从源码包安装的MySQL
// linux关闭MySQL的命令
// linux启动MySQL的命令
在unix环境下:
1. /etc/my.cnf
2. DATADIR/my.cnf
3. ~/.my.cnf
在Windows环境:
1. %SystemRoot%/my.ini
2. c:\my.cnf
也可以通过命令行参数来告诉MySQL要读取的配置文件:
--no-defaults
没有配置文件
--defaults-file=/PATH/TO/FILE
/PATH/TO/FILE 就是配置文件位置及文件名, 如D:\MySQL5\my.ini,
让MySQL只读取这个配置文件,额外的配置文件可以通过下面的参数指定。
--defaults-extra-file=/PATH/TO/FILE
指定一个额外的配置文件
如在Windows环境下要安装一个MySQL服务,即可使用如下命令行:
D:\MySQL5\bin\mysqld --install MySQL5 --defaults-file=D:\MySQL5\my.ini
如果%SystemRoot%/my.ini 里指定了MySQL的端口是3306,而c:\my.cnf却指定了是3308,那么MySQL会以后者为准。
注意:配置文件可以是多个,相同的设置,会以最后一个配置文件的设置为准。
当需要在同一台主机上运行多个MySQL Server的时候,可以把相同的设置写在/etc/my.cnf里,不同的设置保存在各自的DATADIR/my.cnf。
5.memcached
配置&调优
1.apache
2.nginx
3.php(php-fpm)
PHP5.3 起的fast-cgi进程管理方式:
;pm = dynamic
pm = static
如果设置成static,php-fpm进程数自始至终都是pm.max_children指定的数量,不再增加或减少。
如果设置成 dynamic,则php-fpm进程数是动态的,最开始是pm.start_servers指定的数量,如果请求较多,则会自动增加, 保证空闲的进程数不小于pm.min_spare_servers,如果进程数较多,也会进行相应清理,保证多余的进程数不多于 pm.max_spare_servers。
这两种不同的进程管理方式,可以根据服务器的实际需求来进行调整。
这里先说一下涉及到这个的几个参数,他们分别是pm、pm.max_children、pm.start_servers、pm.min_spare_servers和pm.max_spare_servers。
pm表示使用那种方式,有两个值可以选择,就是static(静态)或者dynamic(动态)。在更老一些的版本中,dynamic被称作apache-like。这个要注意看配置文件的说明。
下面4个参数的意思分别为:
pm.max_children:静态方式下开启的php-fpm进程数量。
pm.start_servers:动态方式下的起始php-fpm进程数量。
pm.min_spare_servers:动态方式下的最小php-fpm进程数量。
pm.max_spare_servers:动态方式下的最大php-fpm进程数量。
如果dm设置为static,那么其实只有pm.max_children这个参数生效。系统会开启设置数量的php-fpm进程。如果dm设置为 dynamic,那么pm.max_children参数失效,后面3个参数生效。系统会在php-fpm运行开始 的时候启动pm.start_servers个php-fpm进程,然后根据系统的需求动态在pm.min_spare_servers和 pm.max_spare_servers之间调整php-fpm进程数。
那么,对于我们的服务器,选择哪种执行方式比较好呢?事实上,跟Apache一样,运行的PHP程序在执行完成后,或多或少会有内存泄露的问题。这也是为什么开始的时候一个php-fpm进程只占用3M左右内存,运行一段时间后就会上升到20-30M的原因了。
对于内存大的服务器(比如8G以上)来说,指定静态的max_children实际上更为妥当,因为这样不需要进行额外的进程数目控制,会提高效 率。因为频繁开关php-fpm进程也会有时滞,所以内存够大的情况下开静态效果会更好。数量也可以根据 内存/30M 得到,比如8GB内存可以设置为100,那么php-fpm耗费的内存就能控制在 2G-3G的样子。如果内存稍微小点,比如1G,那么指定静态的进程数量更加有利于服务器的稳定。这样可以保证php-fpm只获取够用的内存,将不多的 内存分配给其他应用去使用,会使系统的运行更加畅通。
对于小内存的服务器来说,比如256M内存的VPS,即使按照一个20M的内存量来算,10个php-cgi进程就将耗掉200M内存,那系统的崩 溃就应该很正常了。因此应该尽量地控制php-fpm进程的数量,大体明确其他应用占用的内存后,给它指定一个静态的小数量,会让系统更加平稳一些。或者 使用动态方式,因为动态方式会结束掉多余的进程,可以回收释放一些内存,所以推荐在内存较少的服务器或VPS上使用。具体最大数量根据 内存/20M 得到。比如说512M的VPS,建议pm.max_spare_servers设置为20。至于pm.min_spare_servers,则建议根据服 务器的负载情况来设置,比较合适的值在5~10之间。
4.mysql
5.memcached
可能出现的问题
- 服务器环境搭建
- ubuntu服务器环境搭建
- Tomcat服务器环境搭建
- nginx_fastcgi_c++ 服务器环境搭建
- tftp服务器环境搭建
- 服务器环境搭建 v2
- Git服务器环境搭建
- Openfire服务器环境搭建
- PHp服务器环境搭建
- 服务器搭建环境
- 云服务器环境搭建
- tomcat服务器环境搭建
- 实验室服务器环境搭建
- 搭建LAMP服务器环境
- linux 服务器环境搭建
- 服务器环境搭建
- 服务器环境搭建【三】
- 搭建服务器环境
- PuTTY and SSH Stuff
- acm 2096
- Vim 基本配置
- c++编写函数验证哥德巴赫猜想
- Linux时间子系统之clocksource的注册
- 服务器环境搭建
- 通用量规辅助设计程序更新说明
- 21个强大的Javascript框架
- 2013-2014学年第1学期软件工程和软件外包课程安排
- 聚类小文(一)
- 蓝桥杯第7题
- C# 根据SLIP协议封装报文
- 外设寄存器的访问
- 监听独立于数据库服务器的配置,解决ORA-12520及ORA-12545错误