windows应用迁移到linux下

为什么80%的码农都做不了架构师?>>>   hot3.png

这里是给创业公司进行更换系统。由于平时用到的并不多,只有一台服务器。

在迁移之前把应用,数据库数据都下载下来,然后更换系统为centos7

1、首先是迁移数据库。

      安装mysql5.7数据库后,把数据导入进数据库。由于linux数据严格区分大小写,顾       

#vim /etc/my.cnf

     添加lower_case_table_names=1 到my.cnf中。

1.2、安装tomcat,将应用放到tomcat中。

 

2.Nginx安装

我使用的环境是64位 Ubuntu 14.04。nginx依赖以下模块:

l  gzip模块需要 zlib 库

l  rewrite模块需要 pcre 库

l  ssl 功能需要openssl库

2.1.安装pcre

1.         获取pcre编译安装包,在http://www.pcre.org/上可以获取当前最新的版本

2.         解压缩pcre-xx.tar.gz包。

3.         进入解压缩目录,执行./configure。

4.         make & make install

1.2.安装openssl

1.         获取openssl编译安装包,在http://www.openssl.org/source/上可以获取当前最新的版本。

2.         解压缩openssl-xx.tar.gz包。

3.         进入解压缩目录,执行./config。

4.         make & make install

2.3.安装zlib

1.         获取zlib编译安装包,在http://www.zlib.net/上可以获取当前最新的版本。

2.         解压缩openssl-xx.tar.gz包。

3.         进入解压缩目录,执行./configure。

4.         make & make install

2.4.安装nginx

1.         获取nginx,在http://nginx.org/en/download.html上可以获取当前最新的版本。

2.         解压缩nginx-xx.tar.gz包。

3.         进入解压缩目录,执行./configure

4.         make & make install

若安装时找不到上述依赖模块,使用--with-openssl=、--with-pcre=、--with-zlib=指定依赖的模块目录。如已安装过,此处的路径为安装目录;若未安装,则此路径为编译安装包路径,nginx将执行模块的默认编译安装。

启动nginx之后,浏览器中输入http://localhost可以验证是否安装启动成功。

windows应用迁移到linux下_第1张图片

5、nginx的编译安装后的目录在

      /usr/local/nginx/

 

3、nginx整合tomcat

 #vim /usr/local/nginx/conf/nginx.conf

添加图片缓存

   server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 50m;
    sendfile on;

    tcp_nopush on;
    tcp_nodelay on;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 256k;
    client_body_buffer_size 512k;

    proxy_connect_timeout 5;
    proxy_read_timeout 60;
    proxy_send_timeout 5;
    proxy_buffer_size 16k;
    proxy_buffers 4 64k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 128k;
    proxy_temp_path /yundata/temp/images;
    proxy_cache_path /yundata/cache/images levels=1:2 keys_zone=content:20m inactive=1d max_size=100m;

    gzip on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types       text/plain application/x-javascript text/css application/xml;
    gzip_vary on;
    gzip_proxied        expired no-cache no-store private auth;
    gzip_disable        "MSIE [1-6]\.";

配置tomcat,其中应用的端口为8080

  
#代理tomcat应用
server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        access_log /var/log/nginx.log;


         location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
         {
           expires       15d;
         }

         location ~ .*\.(js|css)?$
          {
             expires       1d;
           }
         
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass  http://www.5ayzb.com:8080;
	 }


  
#代理php应用
server {

测试配置是否有问题通过下面命令

#/usr/local/nginx/sbin/nginx -t

看是否有错误信息。

输入 netstat -tpnl 检查下是否有服务正常

[root@localhost ~]# netstat -tpnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:8005          0.0.0.0:*               LISTEN      1504/java

tcp        0      0 0.0.0.0:8009            0.0.0.0:*               LISTEN      1504/java
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7913/nginx: master
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      1504/java
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      873/sshd
tcp6       0      0 :::3306                 :::*                    LISTEN      889/mysqld
[root@localhost ~]#

 

 

4、安装php5.6 

安装依赖

# yum install gcc gcc-c++ libxml2 libxml2-devel libjpeg-devel libpng-devel freetype-devel openssl-devel libcurl-devel libmcrypt-devel
#/configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --enable-pcntl --enable-mysqlnd --enable-opcache --enable-sockets --enable-sysvmsg --enable-sysvsem  --enable-sysvshm --enable-shmop --enable-zip --enable-ftp --enable-soap --enable-xml --enable-mbstring --disable-rpath --disable-debug --disable-fileinfo --with-mysql --with-mysqli --with-pdo-mysql --with-pcre-regex --with-iconv --with-zlib --with-mcrypt --with-gd --with-openssl --with-mhash --with-xmlrpc --with-curl --with-imap-ssl
#make
。。。。。省略

#make intstall
[root@localhost php-5.6.26]# make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
Installing PHP CLI binary:        /usr/local/php/bin/
Installing PHP CLI man page:      /usr/local/php/php/man/man1/
Installing PHP FPM binary:        /usr/local/php/sbin/
Installing PHP FPM config:        /usr/local/php/etc/
Installing PHP FPM man page:      /usr/local/php/php/man/man8/
Installing PHP FPM status page:   /usr/local/php/php/php/fpm/
Installing PHP CGI binary:        /usr/local/php/bin/
Installing PHP CGI man page:      /usr/local/php/php/man/man1/
Installing build environment:     /usr/local/php/lib/php/build/
Installing header files:           /usr/local/php/include/php/
Installing helper programs:       /usr/local/php/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php/php/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:      /usr/local/php/lib/php/
[PEAR] Archive_Tar    - installed: 1.4.0
[PEAR] Console_Getopt - installed: 1.4.1
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util       - installed: 1.3.0
[PEAR] PEAR           - installed: 1.10.1

配置php

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

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

[root@localhost etc]# /usr/local/php/sbin/php-fpm -t
[17-Sep-2016 22:47:27] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful

添加到

#cp /server/php-5.6.26/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

/server/php-5.6.26 这个是我的php的tar.xz 解压的安装包

添加到开机自启

#chkconfig --add php-fpm

启动PHP

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

5 nginx+php整合

 5.1、修改php配置

 

#cd /usr/local/php/etc/
# vi php-fpm.conf 

启用如下几行,即去掉前面的分号(;)
    pid = run/php-fpm.pid
    error_log = log/php-fpm.log
    log_level = notice
    listen = 127.0.0.1:9000
    listen.allowed_clients = 127.0.0.1
    pm = dynamic
    pm.max_children = 50
    pm.start_servers = 5
    pm.min_spare_servers = 5
    pm.max_spare_servers = 35
    pm.max_requests = 500
    env[HOSTNAME] = $HOSTNAME
    env[PATH] = /usr/local/bin:/usr/bin:/bin
    env[TMP] = /tmp
    env[TMPDIR] = /tmp
    env[TEMP] = /tmp
 

5.2、修改nginx

[root@localhost etc]# cd /usr/local/nginx/
[root@localhost nginx]# vim conf/nginx.conf

  server
           {
                   listen       80;
                   server_name bbs.5ayzb.com  #二级域名(比如mial.baidu.com)
                   server_name  ip;
                   index index.php index.html index.htm default.html default.htm default.php;
                  root  /home/website/;#php应用的文件夹
                   location ~ \.php$ {
                          root  /home/website;#php应用的文件夹
                          fastcgi_pass 127.0.0.1:9000;
                          fastcgi_index index.php;
                          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                           include fastcgi_params;
                         }

                  location /status {
                          stub_status on;
                          access_log   off;
                  }

                  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                          {
                                  expires      30d;
                          }
                  location ~ .*\.(js|css)?$
                          {
                                  expires      12h;
                          }

                  access_log off;
          }

5.3、测试是否有问题

#/usr/local/nginx/sbin/nginx -t

 

6 最后结果

在浏览器输入  

www.5ayzb.com 就出现java的应用

输入bbs.5ayzb.com 就是先php的应用。

 

 

 

 

到这里php+nginx+tomcat的整合好了。80端口可以访问两个应用了。

 

参考:nginx安装:http://www.cnblogs.com/skynet/p/4146083.html      

           nginx+php整合http://blog.chinaunix.net/uid-21374062-id-2951960.html

转载于:https://my.oschina.net/jywm/blog/747784

你可能感兴趣的:(windows应用迁移到linux下)