`
sinykk
  • 浏览: 356942 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

web项目在CENTOS上从零开始配置

 
阅读更多

 



=======================================================================
安装服务器前装相应的扩展
=======================================================================
【适用CentOS操作系统】利用CentOS Linux系统自带的yum命令安装、升级所需的程序库(RedHat等其他Linux发行版可从安装光盘中找到这些程序库的RPM包,进行安装):
sudo -s
LANG=C
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers


=======================================================================
mysql 安装
=======================================================================
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /sinykkdata/webserver/mysql-5.5.16-linux2.6-x86_64.tar.gz
shell> ln -s mysql-5.5.16-linux2.6-x86_64 mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf

注意:改变权限时使用的点
一个点(.)代表着当前目录。
二个点(..)代表着上级目录,原理是一样的。


7)启动MySQL服务
# bin/mysqld_safe --user=mysql &
//启动MySQL(The & character tells the operating system to run MySQL in the background;
//it is ignored by MySQL itself.
//如果报错,注意及时查看/usr/local/mysql/var/下的日志文件)

8)设置MySQL启动服务
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld //在自动启动列表里添加mysqld
# chkconfig --level 345 mysqld on

9)修改MySQL密码
# /usr/local/mysql/bin/mysqladmin -u root password 'new-password' //修改密码
// 将localhost替换成你的主机域名,比如:zhaorg.csu.edu.cn



10)登录mysql数据库:

# mysql -u root -p
Enter password: root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 18 to server version: 5.0.19-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use mysql;
mysql>delete from user where password=""; //删除用于本机匿名连接的空密码帐号
mysql>flush privileges;
mysql>quit

(或者,也可运行如下命令(Alternatively you can run):
# /usr/local/mysql/bin/mysql_secure_installation
//which will also give you the option of removing the test
//databases and anonymous user created by default. This is
//strongly recommended for production servers.)

11)关闭MySQL服务

# /usr/local/mysql/bin/mysqladmin -u root -p new-password shutdown //关闭MySQL


===============================================================
nginx 安装
===============================================================

#tar zxvf nginx-1.0.8.tar.gz
#cd nginx
#./configure

#user  nobody;
worker_processes  1;

error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
pid        logs/nginx.pid;


events{
        use epoll;
        worker_connections 51200;
    }


http {
    include       mime.types;
    default_type  application/octet-stream;

    client_max_body_size 200m;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  .sinykk.com;
    index index.html index.htm index.php;
    root  /home/wwwroot/;
    error_page 404 = /404.php;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            index  index.html index.htm index.php;
        if (!-e $request_filename){
            rewrite ^(.*)$ /index.php?s=$1 last;
            break;
        }
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
           # proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
       location ~ \.php$ {
            #root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ {
        expires      30d;
    }

    }


}

===============================================================
php 安装
===============================================================


下面开始安装5.3.8

tar -zxvf php-5.3.8.tar.gz
cd php-5.3.8
//安装时要记得装MYSQL扩展--with-mysql=/usr/local/mysql   --with-jpeg-dir 否者在创建JPEG图片时会错误,ffmpeg-php也会截不了图


./configure --prefix=/usr/local/php --with-configure-file-path=/usr/local/php/etc --with-iconv-dir=/usr/local --enable-fpm --with-mysql=/usr/local/mysql --enable-mbstring --with-mcrypt --with-gd --with-curl --with-mysqli=/usr/local/mysql/bin/mysql_config  --enable-gd-native-ttf --enable-sockets --enable-zip --with-jpeg-dir --with-freetype-dir --with-png-dir --enable-shared

如果后面MAKE报错时,要考虑是否一些基本的扩展或库未装(一般通过YUM 一键来装)

#make ZEND_EXTRA_LIBS='-liconv' //可以不要

#make

# make install

# cp php.ini-production /usr/local/php/lib/php.ini

# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

接下来,根据需要,编辑 php-fpm.conf 文件中 的若干参数,重要的是监听 IP 地址和端口等,比如 127.0.0.1:9000

pid = run/php-fpm.pid

error_log = log/php-fpm.log

listen = 127.0.0.1:9000


user = www
group = www

pm.start_servers = 20

pm.min_spare_servers = 5

pm.max_spare_servers = 35

然后设置 php-fpm 的控制脚本,控制启动和重启、关闭等;

# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

# chmod +x /etc/rc.d/init.d/php-fpm

# /sbin/chkconfig -–add php-fpm

# /etc/rc.d/init.d/php-fpm start


也可以如下示例:
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'

查看php-fpm进程数:

ps aux | grep -c php-fpm



到此,安装配置完毕。


===============================================================
memcache配置
===============================================================
libevent-2.0.15-stable.tar.gz
memcache-2.2.6.tgz
memcached-1.4.9.tar.gz


tar vxzf memcache-2.2.6.tgz
cd memcache-2.2.6
/usr/local/php/bin/phpize
./configure –-enable-memcache –-with-php-config=/usr/local/php/bin/php-config –-with-zlib-dir
make
make install

memcached -d -m 10 -u root -l 122.225.117.253 -p 11211 -c 256 -P /tmp/memcached.pid


===============================================================
coreseek(sphinx)配置
===============================================================
tar -zxvf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/libiconv
make
make install

安装按http://www.coreseek.cn/products-install/install_on_bsd_linux/


===============================================================
httpsqs 配置
===============================================================

ulimit -SHn 65535

wget http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gz
tar zxvf libevent-2.0.12-stable.tar.gz
cd libevent-2.0.12-stable/
./configure --prefix=/usr/local/libevent-2.0.12-stable/
make
make install
cd ../

wget http://httpsqs.googlecode.com/files/tokyocabinet-1.4.47.tar.gz
tar zxvf tokyocabinet-1.4.47.tar.gz
cd tokyocabinet-1.4.47/
./configure --prefix=/usr/local/tokyocabinet-1.4.47/
#注:在32位Linux操作系统上编译Tokyo cabinet,请使用./configure --enable-off64代替./configure,可以使数据库文件突破2GB的限制。
#./configure --enable-off64 --prefix=/usr/local/tokyocabinet-1.4.47/
make
make install
cd ../

wget http://httpsqs.googlecode.com/files/httpsqs-1.7.tar.gz
tar zxvf httpsqs-1.7.tar.gz
cd httpsqs-1.7/
make
make install
cd ../

注意:这个是里面的安装文件夹不能改如 --prefix=/usr/local/libevent-2.0.12-stable/不能改为 --prefix=/usr/local/libevent/
参考:http://blog.s135.com/httpsqs/

请使用命令“killall httpsqs”、“pkill httpsqs”和“kill `cat /tmp/httpsqs.pid`”来停止httpsqs。
注意:请不要使用命令“pkill -9 httpsqs”和“kill -9  httpsqs的进程ID”来结束httpsqs,否则,内存中尚未保存到磁盘的数据将会丢失。






===============================================================
ffmpeg 配置
注:ffmpeg ffmpeg-devel为YUM安装  FFMPEG-PHP 需要修改源码
===============================================================
译安装ffmpeg非常的麻烦,还好我们找到了一个yum源可以方便的安装ffmpeg以及ffmpeg-dev,下面是步骤:

(1)
vi /etc/yum.repos.d/dag.repo
输入:

[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1

导入Dag的RPM_GPG_KEY,否则提示没有key无法安装

wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
rpm -import RPM-GPG-KEY.dag.txt

安装ffmpeg&ffmpeg-php

yum install ffmpeg ffmpeg-devel


(2)

wget http://ncu.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
tar -xjf ffmpeg-php-0.6.0.tbz2
cd ffmpeg-php
#/usr/local/webserver/php/bin/phpize
#./configure --with-php-config=/usr/local/webserver/php/bin/php-config
#make
#make install


######################################################
如果在make 中发现错误提示:make: *** [ffmpeg_frame.lo] Error 1
则:
1 mv ffmpeg_frame.loT ffmpeg_frame.lo


如果有ffmepg-php模块错误提示:php: symbol lookup error: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ffmpeg.so: undefined symbol: register_ffmpeg_frame_class
nm /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ffmpeg.so|grep register_ffmpeg_frame_class
#输出U register_ffmpeg_frame_class

则修改ffmpeg_frame.c,将3处的PIX_FMT_RGBA32 更改为PIX_FMT_RGB32即可。
#vi ffmpeg_frame.c
#:%s/PIX_FMT_RGBA32/PIX_FMT_RGB32
#:wq!
#./configure --with-php-config=/usr/local/webserver/php/bin/php-config
#make test

#make
#make install

 

 

 

==================================

root/php-5.2.12/ext/xmlrpc/libxmlrpc/encodings.c:73: undefined reference to `libiconv_open'

/root/php-5.2.12/ext/xmlrpc/libxmlrpc/encodings.c:81: undefined reference to `libiconv'
/root/php-5.2.12/ext/xmlrpc/libxmlrpc/encodings.c:101: undefined reference to `libiconv_close'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] ?.. 1


处理方法:
./configure ............

vi Makefile
找到下面这行:
EXTRA_LIBS = -lcrypt ...
在最后添加-liconv
保存后make通过;make install通过。
分享到:
评论

相关推荐

    从零开始学习CentOS_(LINUX)搭建服务器

    本文档的目标是指导读者从零开始,通过图文并茂的方式,学习如何使用CentOS构建一个功能完备的服务器。 首先,服务器与个人电脑最本质的区别在于其存在的目的是为了提供服务。虽然可以通过安装特定软件将个人电脑...

    CentOS7搭建JavaWeb安装配置

    本文档旨在提供一套全面的指导方案,帮助读者从零开始,在CentOS 7操作系统上搭建一个完整的Java Web开发环境。该指南不仅覆盖了基础的系统配置,还包括了关键组件如JDK、Tomcat以及MySQL的安装与配置步骤。通过这些...

    从零开始部署CentOs7+Apache+PHP+mariaDB+https1

    【从零开始部署CentOS7+Apache+PHP+MariaDB+HTTPS】 这篇文章将引导你逐步完成在CentOS7系统上搭建一个基于Apache服务器、PHP处理脚本语言、MariaDB数据库服务以及启用HTTPS安全协议的过程。以下是详细的步骤: 1....

    CentOS宝典0-Wiley.CentOS.Bible.pdf

    书中详细讲解了如何从零开始安装CentOS系统,包括硬盘分区、网络配置、用户管理等基础设置。同时,还介绍了如何使用YUM(Yellowdog Updater Modified)包管理器来更新和安装软件包,以及如何配置SELinux和防火墙以...

    在CentOS系统上从零开始搭建WordPress博客的全流程记录

    在本文中,我们将详细介绍如何在CentOS 7.0系统上从零开始搭建一个WordPress博客。这个过程包括安装必要的软件和服务,如Apache、MySQL和PHP,以及配置和测试WordPress的安装。 首先,我们需要安装Apache服务器。...

    centos 6 nginx 安装配置手册

    总结,本教程详尽地介绍了在 CentOS 6 系统中从零开始安装和配置 Nginx 的全过程,涵盖了 Nginx 的核心功能,对于想要深入了解和实践 Nginx 的新手来说是一份非常实用的指南。按照教程步骤操作,你将能够搭建起一个...

    从零开始Hadoop安装和配置.docx

    ### Hadoop从零开始安装与配置详解 #### 一、事前准备 Hadoop是一种分布式计算框架,能够让数据处理能力分布在多个计算机节点上,从而提高数据处理效率和系统的可扩展性。本文将详细介绍如何从零开始搭建Hadoop...

    CentOS-7-x86_64-Minimal-1810.iso镜像

    3. **精简版安装**:Minimal版本只包含基本组件,适合那些希望从零开始配置系统、优化资源使用或进行自动化部署的用户。 4. **ISO镜像**:ISO是一种光盘映像格式,可以刻录到物理光盘上,也可以在虚拟机中挂载使用...

    Linux+CentOS-7-x86-64-Minimal-2009.iso

    总的来说,"Linux+CentOS-7-x86-64-Minimal-2009.iso" 提供了一个轻量级、稳定且灵活的基础,适合于那些希望从零开始构建和定制自己Linux环境的用户。无论是用于学习Linux操作系统的原理,还是搭建高效能的服务器,...

    CentOS 6.2 使用教程.zip

    通过以上步骤,你将学会如何在CentOS 6.2上从零开始构建一个功能齐全的LAMP服务器。这仅仅是开始,后续还可以进一步优化服务器性能,比如配置虚拟主机、调整安全设置、安装其他应用程序等。在CentOS 6.2上,你可以...

    CentOS 6.8编译安装LNMP环境

    本文将详细介绍如何在CentOS 6.8操作系统上从零开始编译安装LNMP环境,并确保其正常运行。 #### 二、环境介绍与准备 **操作系统**:CentOS 6.8 **软件版本**: - Nginx:1.6.2 - MySQL:5.6.21 - PHP:5.6.3 ...

    The Definitive Guide to CentOS(英文版)1

    本书的目标是从零开始,以最直接的方式让读者尽快上手。作者们关注的是大多数用户会需要设置和提供的服务,并提供了实现这些目标的最简便路径。他们还深入讨论了CentOS用户可能会遇到的挑战以及如何有效解决这些问题...

    CentOS 5 全功能WWW服务器搭建全教程 V3.0

    这是一份详细的指南,旨在帮助用户从零开始设置和配置服务器,使其能够提供网页服务、支持动态内容处理以及数据库集成等功能。 【描述】:虽然描述信息为空,但我们可以推测,此教程可能包含了以下内容: 1. **...

    IBM3650从装系统到安装oracle.pdf

    本项目旨在详细介绍从零开始配置IBM 3650服务器的过程,包括硬件配置、操作系统安装以及Oracle数据库的部署。该文档由贾东岩撰写,初始版本发布于2011年11月11日,并于2012年8月21日进行了更新。 #### 二、硬件配置...

    阿里云linux一键安装web环境(含视频教程)

    阿里云Linux一键安装Web环境教程是...总的来说,这个教程涵盖了从零开始构建一个完整的Web服务环境的所有必要步骤,适合初学者和有一定经验的开发者。通过学习和实践,你可以快速掌握在阿里云ECS上部署Web应用的技能。

Global site tag (gtag.js) - Google Analytics