首页 > 代码库 > 云主机服务器搭建

云主机服务器搭建

最近搞了一台云主机,配置不高,但是够用:

  • CPU:单核
  • 内存:1G
  • 硬盘:40G
  • 带宽:1M
    这个配置搭个人网站问题不大。

服务器到手后,预计安装下面这些软件:

  • Nginx : 用来做反向代理
  • Apache+PHP : 用来运行Wordpress
  • Tomcat : 用来运行Java应用
  • MySQL : 保存数据

下面开始安装:

前期准备

yum install make
yum install gcc gcc-c++

1. JDK 安装

首先进入到Oracle的JDK下载页面,我打算安装JDK7,所以我的下载页面是: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
由于使用的是云主机,所以不想先下载到桌面,再SCP到服务器上,想直接 wget 到服务上最省事了。但是官方网站下载JDK时需要先接受一个协议才能下载,直接通过JDK包的链接下载不了。
这个问题通过下面的方式可以解决:

  1. 接受那个协议
  2. 打开Firefox或Chrome的开发者工具,选择“Network"页,监控所有的网络请求
  3. 点击页面上我们要下载的JDK,这时在开发者工具中能看到我们请求的URL,这是我的:http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.tar.gz?AuthParam=1405479319_40a9e8cfac1e09a2da6cae32ae15f9f3 后面多了点东西。
    4.把这个URL复制下来,然后到服务器上 wget 一下即可。

下载完后,解压

配置环境变量:

vim /etc/profile

到最下面增加:

JAVA_HOME=/data/java/java
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME
export CLASSPATH
export PATH

2. 打开文件最大数 ulimits 修改

echo ‘ulimit -n 65535‘ >> /etc/profile

3. nginx 安装

3.1 安装libevent

libevent是一个事件触发的网络库,其官方地址是:http://libevent.org/ 在上面找到源代码下载即可
老套路:

./configure
make
make install

3.2 安装pcre

PCRE是一个Perl的正则表达式库,小巧快速。
PCRE的项目地址是: http://sourceforge.net/projects/pcre/files/pcre/ 到这上面找到适合的版本下载

wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fpcre%2Ffiles%2Fpcre%2F8.35%2F&ts=1405487567&use_mirror=jaist

下载完后,解压缩:

./configure
make
make install

之后,pcre就被安装到了 /usr/local/lib 目录下面

3.3 安装zlib

zlib是一个压缩、解压缩的库,官方地址是:http://www.zlib.net/
下载解压后:

./configure
make
make install

3.4 安装openssl

openssl是一个强大的安全套接字密码库,官方地址为:http://www.openssl.org/
下载解压后:

./config  # openssl不能用 ./configure 
make
make install

3.5 安装nginx

./configure --prefix=/data/server/nginx
make
make install

4. tomcat 安装

下载并解压缩即可

5. mysql安装

可以使用yum自动安装:

sudo yum install mysql-server

手动安装:
见CentOS下绿色安装MySQL

6. 安装Apache-PHP

sudo yum install httpd mod_ssl
sudo yum install php php-common php-gd php-mcrypt php-pear php-pecl-memcache php-mhash php-mysql php-xml

7. 配置Nginx反向代理

在Nginx配置文件 /conf/nginx.conf 中增加如下内容:

upstream www.wangda.me {
        server 127.0.0.1:8888;
    }
    upstream www.80ok.net {
        server 127.0.0.1:8889;
    }
    upstream www.mayunfang.com {
        server 127.0.0.1:9000;
    }
    server {
        listen       80;
        server_name  www.wangda.me wangda.me blog.wangda.me;
        charset utf8;
        access_log  logs/blog-wangd.access.log  main;
        location / {
             proxy_redirect off ;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             client_max_body_size 50m;
             client_body_buffer_size 256k;
             proxy_connect_timeout 30;
             proxy_send_timeout 30;
             proxy_read_timeout 60;
             proxy_buffer_size 256k;
             proxy_buffers 4 256k;
             proxy_busy_buffers_size 256k;
             proxy_temp_file_write_size 256k;
             proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
             proxy_max_temp_file_size 128m;
             proxy_pass    http://www.wangda.me;
            index  index.html index.html index.php;
        }
        error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    server {
        listen       80;
        server_name  www.80ok.net 80ok.net;
        charset utf8;
        access_log  logs/blog-zhangxl.access.log  main;
        location / {
            proxy_pass http://www.80ok.net;
            proxy_redirect off ;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             client_max_body_size 50m;
             client_body_buffer_size 256k;
             proxy_connect_timeout 30;
             proxy_send_timeout 30;
             proxy_read_timeout 60;
             proxy_buffer_size 256k;
             proxy_buffers 4 256k;
             proxy_busy_buffers_size 256k;
             proxy_temp_file_write_size 256k;
             proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
             proxy_max_temp_file_size 128m;
            index  index.html index.html index.php;
        }
        error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
           root   html;
        }
    }
    server {
        listen       80;
        server_name  www.mayunfang.com mayunfang.com;
        charset utf8;
        access_log  logs/mayunfang.access.log  main;
        location / {
            proxy_pass http://www.mayunfang.com;
            proxy_set_header    X-Real-IP   $remote_addr;
            client_max_body_size    100m;
            index  index.html index.html index.php;
        }
        error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
           root   html;
        }
    }