阿里云 Ubuntu 12.04.1LTS 64bit安装手册

阿里云 Ubuntu12.04.1 LTS 64bit安装手册

日期:2014-01-09 ~ 2014-01-13

说明:本文章中的全部命令都是在root账号权限下安装执行

TAG:Ubuntu,MySQL, PHP, Nginx, Gearman

更新记录:2014-02-11 更改了gearman删除了未验证的安装方式,增加了对于pecl与php不兼容时的解决办法

将软件仓库更新到最新

apt-get update

安装MySQL服务

安装过程中会提示输入root用户密码

apt-get install mysql-server

检查服务是否安装成功

mysql默认端口为3306

检查进程是否存在

ps aux | grep mysqld

mysql    2469  0.1  8.6 558284 43436 ?        Ssl 10:34   0:00 /usr/sbin/mysqld

检查端口监听

netstat -anl | grep 3306

tcp       0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN

启动mysql

service mysql start

停止mysql

service mysql restart

重启mysql

service mysql restart

安装PHP

apt-get install php5-fpm php5-cli

安装PECL

apt-get install php-pear php5-dev

安装PHP PDO数据库扩展

pecl install pdo

pecl install pdo_mysql

安装常用扩展

apt-get install php5-memcache  php5-curl  php5-mysql  php5-sqlite  php5-gd

检查扩展是否安装了相应扩展

如检查PDO扩展是否安装正常

php5 -i | grep pdo

/etc/php5/cli/conf.d/pdo.ini,

/etc/php5/cli/conf.d/pdo_mysql.ini,

/etc/php5/cli/conf.d/pdo_sqlite.ini,

pdo_mysql

pdo_mysql.default_socket =>/var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock

pdo_sqlite

 

或者直接到/usr/lib/php5/20090626检查是否有对应so

也可以在安装了nginx之后通过phpinfo()进行查看,参考下面Nginx安装部分。

搜索支持的PHP5扩展 (可选步骤)

apt-cache search php5

修改配置文件

cd /etc/php5/fpm/

vi php.ini

打开error log

log_errors = On

error_log = php_errors.log

重启php5-fpm应用配置文件,此时打开的对应的php_errors.log文件在/var/log/目录下

service php5-fpm restart

安装Memcahced

apt-get install memcached

检查服务是否安装成功

memcached默认端口为11211

检查进程是否存在

ps aux | grep memcached

memcache 16936  0.0 0.2 323224  1004 ?        Sl  Jan10   0:07 /usr/bin/memcached -m64 -p 11211 -u memcache -l 127.0.0.1

检查端口监听

netstat -anl | grep 11211

tcp       0      0 127.0.0.1:11211         0.0.0.0:*               LISTEN     

udp       0      0 127.0.0.1:11211         0.0.0.0:*

启动服务

service memcached  start

停止服务

service mysql restart

重启服务

service mysql restart

安装Gearman及其php扩展

方法1:aptitude方式

aptitude  install python-software-properties

add-apt-repository  ppa:gearman-developers/ppa

aptitude  update

aptitude  install  libevent-dev  gearman  libgearman2  libgearman-dev  libdrizzle0

安装PHP Gearman扩展

pecl install gearman

注意:如果pecl没有正确配置可能会导致不兼容的问题发生

如以下错误是由于pecl配置指向了更早前安装的高版本的php 两者api version不同而导致兼容性问题发生

PHPStartup: Unable to load dynamic library '/usr/lib/php5/20090626/gearman.so' -/usr/lib/php5/20090626/gearman.so: undefined symbol: zend_new_interned_stringin Unknown on line 0

如果出现了这个问题可以配置pecl指向当前使用php环境即可解决:

pecl  config-set php_ini /etc/php5/cli/php.ini

pecl config-set php_bin /etc/php5

配置PHP扩展

cd /etc/php5/fpm/conf.d

touch gearman.ini

vi gearman.ini

输入配置信息

; configuration for php gearman module

extension=gearman.so

重启php5-fpm应用配置

service php5-fpm restart

CLI方式检查gearman扩展是否激活

php5 -i | grep gearman

/etc/php5/cli/conf.d/gearman.ini,

gearman

gearman support => enabled

libgearman version => 1.1.0

方法2:源代码方式

安装必要依赖项:

apt-get install gcc  autoconf  bison  flex libtool  make  libboost-all-dev libcurl4-openssl-dev  curl  libevent-dev  memcached  uuid-dev  libsqlite3-dev  libmysqlclient-dev  libcloog-ppl0

创建下载目录(可以忽略)

mkdir /downloads

cd /downloads

下载源代码

wget https://launchpad.net/gearmand/1.2/1.1.2/+download/gearmand-1.1.2.tar.gz

tar –zxvf gearmand-1.1.2.tar.gz

cd gearmand-1.1.2/

./configure

make install

make test

 

apt-get install libgearman-dev

apt-get install gearman-job-server

pecl install gearman

检查服务是否安装成功

安装完成之后,Gearman默认端口号为4730,可以通过以下方式检查:

检查进程是否正常开启

ps aux | grep gearman

gearman 21830  0.0  0.2 487376 1476 ?        Ssl  Jan10  0:05 /usr/sbin/gearmand --pid-file=/var/run/gearman/gearmand.pid--user=gearman --daemon --log-file=/var/log/gearman-job-server/gearman.log--listen=127.0.0.1

 

检查端口是否正常监听

netstat -aln | grep 4730

tcp        0     0 127.0.0.1:4730         0.0.0.0:*               LISTEN  

安装Supervisor

需要使用supervisor管理监控管理后台守备进程

apt-get install supervisor

修改配置文件

cd /etc/supervisor/conf.d/

touch robot.conf

vi robot.conf

配置监控的进程或者脚本

[program:Robot]

directory = /var/script/robot/  ; 守备进程PHP脚本所在目录

command = php5 /var/script/robot/Robot.php// CLI方式执行PHP脚本作为守备进程

autostart=true // 自动开始

autorestart=true // 崩溃之后自动重启

stdout_logfile = /var/log/supervisor/sc_robot.log// 标准输出文件

stderr_logfile = /var/log/supervisor/ sc_robot.err// 错误输出文件

管理后台守备进程

supervisorctl

更新应用配置文件

注意:如果配置中设置autostart=true,在这个更新过程中程序将会启动,否则对应已经启动的程序如果设置autostart=false会导致程序停止

supervisor> update

Robot: added process group

查看运行状况

supervisor> status

Robot                  RUNNING    pid 14686, uptime 0:01:50

启动进程

supervisor> start Robot

Robot: started

停止进程

supervisor> stop Robot

Robot: stopped

重启进程

supervisor> restart Robot

Robot: stopped

Robot: started

退出supervisor控制台

supervisor> quit

安装Nginx

apt-get install nginx

创建web目录

cd /var

mkdir www

创建web配置文件

cd /etc/nginx/sites-available

cp default mysite

修改配置文件

vi mysite

server {

       listen   80; ## listen for ipv4;this line is default and implied

       listen   [::]:80 defaultipv6only=on; ## listen for ipv6

                 …

                   root/var/www;

                   …

                   server_name192.168.1.1;

                   …

                   #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

       #

       location ~ \.php$ {

                fastcgi_split_path_info^(.+\.php)(/.+)$;

       #       # NOTE: You should have"cgi.fix_pathinfo = 0;" in php.ini

       #

       #       # With php5-cgi alone:

                fastcgi_pass 127.0.0.1:9000;

       #       # With php5-fpm:

       #       fastcgi_passunix:/var/run/php5-fpm.sock;

       #       fastcgi_index index.php;

                include fastcgi_params;

       }

         …

}

删除自带的配置文件并应用新的配置文件

cd ../sites-enabled/

rm default -f

ln -s ../sites-available/site site

service nginx start

检查是否安装成功

ps aux | grep nginx

root     3127  0.0  0.2 76888  1300 ?        Ss  10:51   0:00 nginx: master process/usr/sbin/nginx

www-data 3128  0.0  0.3 77204  1992 ?        S   10:51   0:00 nginx: worker process

www-data 3129  0.0  0.3 77204  1992 ?        S   10:51   0:00 nginx: worker process

www-data 3130  0.0  0.3 77204  1992 ?        S   10:51   0:00 nginx: worker process

www-data  3131 0.0  0.3  77204 1732 ?        S    10:51  0:00 nginx: worker process

启动nginx

service nginx start

停止nginx

service nginx stop

重启nginx

service nginx restart

配置文件更改,应用配置文件:

nginx –s reload

注意:只有在nginx服务已经启动的时候才可以执行这个命令,否则会出现如下错误:

nginx -s reload

nginx: [error] open()"/var/run/nginx.pid" failed (2: No such file or directory)

测试PHP及其扩展安装配置是否正确

cd /var/www

echo “phpinfo.php

在浏览器中打开对应的页面并查看扩展是否正确

http://192.168.1.1/phpinfo.php

部署PHP Web项目

创建项目需要日志目录

cd /var/log

mkdir project

修改日志目录所有者和组,让PHP进程有足够权限写入文件

chown -R www-data:www-data project/

系统管理常用命令

查看内存,CPU使用状况

top

SHIFT + M 查看根据内存使用情况降序排序

SHIFT + P 根据CPU占用率降序排序

SHIFT + N 根据PID降序排序

部分参考资料

l  Gearman 安装及实现消息队列

l  GearmanJob Server

l  Gearmaninstalling

 

你可能感兴趣的:(服务器管理,移动互联网)