最近阿里云服务器到期,这个周末连夜将服务器迁移到美国去了,为什么迁移到美国去呢?主要是因为阿里云服务器费用高,另外网站的访问量不大,对网速要求也不高,主要是宣传和信息传递的作用,加上本人之前在搬瓦工上租了vps,安装shadowsocks 跳墙用,所以想索性将服务器暂时放到国外算了,一举两用,也不用买别人的vpn代理用来跳墙了。

整个迁移过程和软件安装步骤如下:

  首先在vps上安装了nginx,保证国内能访问,并且网速能接受nginx安装,之前在博客上写过部署,不过这个刚好借此机会汇总下:

 1.1 安装nginx之前呢,需要首先安装必要的库(nginx 中gzip模块需要 zlib 库,rewrite模块需要 pcre 库,ssl 功能需要openssl库),选定/usr/local为安装目录,以下具体版本号根据实际改变。

  不过安装这些库之前确保系统安装了g++、gcc

  使用yum进行安装

yum –install gcc
yum install gcc-c++ libstdc++-devel

1.2 安装PCRE库:

$ cd /usr/local/
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
$ tar -zxvf pcre-8.38.tar.gz
$ cd pcre-8.38
$ ./configure
$ make
$ make install

  注:不要安装pcre2

1.3 安装zlib库

$ cd /usr/local/
$ wget http://zlib.net/zlib-1.2.11.tar.gz
$ tar -zxvf zlib-1.2.11.tar.gz
$ cd zlib-1.2.11
$ ./configure
$ make
$ make install

1.4 安装ssl

$ cd /usr/local/
$ wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
$ tar -zxvf openssl-1.0.1j.tar.gz
$ ./config
$ make
$ make install

  

1.5 安装nginx

$ cd /usr/local/
$ wget http://nginx.org/download/nginx-1.8.0.tar.gz
$ tar -zxvf nginx-1.8.0.tar.gz
$ cd nginx-1.8.0
$ ./configure \
--prefix=/usr/local/nginx-1.8.0 \
--with-http_ssl_module \
--with-openssl=/usr/local/openssl-1.0.1j \
--with-pcre=/usr/local/pcre-8.38 \
--with-zlib=/usr/local/zlib-1.2.11 \
--with-http_stub_status_module \
--with-threads
$ make
$ make install

  出现如下几种错误

错误1:

src/core/ngx_regex.h:15:18: fatal error: pcre.h: No such file or directory

        解决方案:原因是缺少pcre,需要安装libpcre

yum install pcre-devel

  错误2:

解决方法:直接上./configure配置,ok(我也不知道为什么就这么就好了)

make编译

make install 安装

nginx安装成功后:

检查是否启动成功:

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。

nginx操作命令如下:

重启:
$ /usr/local/nginx/sbin/nginx –s reload
停止:
$ /usr/local/nginx/sbin/nginx –s stop
测试配置文件是否正常:
$ /usr/local/nginx/sbin/nginx –t
强制关闭:
$ pkill nginx

 附一部分nginx配置解决各种cookie共享和静态图片访问的问题

 1 server {
2 listen 80 ;
3 server_name www.biyebao.cn;
4 index index.jsp index.html;
5 location / {
6 proxy_set_header Host $host;
7 proxy_set_header X-Real-IP $remote_addr;
8 proxy_set_header REMOTE-HOST $remote_addr;
9 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
10 rewrite ^/biyebao-web/(.*)$ /$1 last;
11 proxy_pass http://localhost:8080/biyebao-web/;
12 }
13
14 location = /50x.html {
15 root html;
16 }
17
18 location ~ ^/favicon\.ico$ {
19 root www;
20
21 }

  

  1. 修改DNS解析将ip换成新的IP地址,访问域名验证是否ok,此处验证成功
  2. 安装JDK和TOMCAT,拷贝原服务器上的source

    jdk解压后修改/etc/profile,设置path和JAVA_HOME,和CLASS_PATH

    export JAVA_HOME=/var/java/jdk/jdk1.7.0_71
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    tomcat修改server.xml,设置webapp目录地址

    <Host name="localhost"  appBase="/home/webapps" unpackWARs="true" autoDeploy="true">
  3. MySql安装
1.安装版本: mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz
2.下载地址:http://dev.mysql.com/downloads/mysql/

4.1 解压

tar -zxvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz

  4.2 重命名解压后的文件

mv mysql-5.6.31-linux-glibc2.5-x86_64/ mysql

  4.3 添加mysql用户组和mysql用户

先检查是否已经添加
groups mysql #没有则添加
groupadd mysql
useradd -r -g mysql mysql

  4.4进入mysql目录更改文件权限

cd mysql/
chown -R mysql:mysql ./

  4.5执行安装脚本

./scripts/mysql_install_db --user=mysql

安装过程中遇到如下错误:

需要用以下命令安装Perl模块:

yum install perl-Data-Dumper.x86_64

  错误2:

执行

yum install libaio

  若有没有什么目录,或者权限问题,请到创建相关目录,和权限赋值

4.6 安装完之后修改当前目录拥有者为root用户,修改data目录拥有者为

mysql chown -R root:root ./ chown -R mysql:mysql data

4.7 启动server

./support-files/mysql.server start 

如果MySQL启动报错,则可能是已经存在MySQL进程,杀掉即可 ps aux|grep mysql kill -9 上边的进程号
,或者下边一条命令即可杀掉所有MySQL进程 ps aux|grep mysql|awk '{print $2}'|xargs kill -9

修改密码:

./bin/mysqladmin -u root -h localhost.localdomain password 'root'

  密码修改好登录:

./bin/mysql -h127.0.0.1 -uroot -proot

  

登录之后将其他用户的密码也可改为root

update mysql.user set password=password('root') where user='root';
flush privileges;

   增加远程登录权限

grant all privileges on *.* to root@'%' identified by 'root';
flush privileges;

  将MySQL加入Service系统服务

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld restart
service mysqld status

  配置my.cnf

vim my.cnf
#添加以下两条语句并保存退出
default-character-set=utf8
lower_case_table_names=1
max_allowed_packet=100M

  配置好之后,重启mysqld服务

service mysqld restart
service mysqld status

  数据导入

source d:\datafilename.sql

 参考:http://www.jianshu.com/p/f4a98a905011

服务器环境迁移,Linux centos7 64位 基础环境部署 jdk+tomcat+mysql+nginx的更多相关文章

  1. linux下memcached安装 和redis安装,jdk,tomcat,mysql 安装

    一.memcached安装yum  search  memcachedyum  -y install memcachedmemmcached -h service memcached restartc ...

  2. Linux安装部署jdk+tomcat+mysql

    Linux安装部署测试环境 1. JDK安装下载 安装 yum search jdk 找到合适的jdk版本,以下图中的版本为例 yum install java-1.8.0-openjdk.x86_6 ...

  3. linux(centos 7)下安装JDK,Tomcat,mysql 运行Maven 项目

    一.在Linux中安装JDK 1. 将JDK上传到root下(任何位置均可以). 如图: 2. 用解压命令解压JDK tar -xvf (此处为jdk文件名) 如果是rpm包,执行rpm -i jdk ...

  4. CentOS7 64位下MySQL5.7安装与配置

    安装环境:CentOS7 64位 MINI版,安装MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo ...

  5. 002-docker安装-mac上安装docker,17.06在CentOS7 64位机器上安装

    一.mac上安装docker 1.下载 通过这个链接下载:https://download.docker.com/mac/stable/Docker.dmg 2.安装 将 Moby 的鲸鱼图标拖拽到  ...

  6. [转]在64位的环境中使用VS建立Web项目进行Oracle连接需要注意WebDev是32位的

    本文转自:http://www.cnblogs.com/studyzy/archive/2010/10/28/1863056.html 我们平时使用的都是32位的机器进行开发,装的都是32位的软件,但 ...

  7. CentOS7 64位 安装MySQL5.7

    安装环境:CentOS7 64位 MINI版,安装MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo ...

  8. 超详细的CentOS7 64位下MySQL5.7安装与配置(YUM)【转发+新创】

    安装环境:CentOS7 64位 MINI版,安装MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo ...

  9. MinGW32和64位交叉编译环境的安装和使用

    原文出处: CompileGraphics Magick, Boost, Botan and QT with MinGW64 under Windows 7 64 http://www.kinetic ...

随机推荐

  1. iOS swift 语句只能写在函数体内

    1. 语句只能在函数体内: eg    因为我写在playground里面没报错  我直接放在这个位置就报错了 在这个.swift 文件里面 print 应该写在func 等方法(函数)里面 其他语句 ...

  2. c++之默认参数的函数

    默认参数,看个例子就明白了 int add(int a=5,int b=6,z=3): int main(){ add():// 全部默认 add(1,5)://第三个参数默认 add(1,2,3): ...

  3. javascript数字时钟

    <html> <head> <script type="text/javascript"> function startTime() { var ...

  4. c#学习内容

    学习winform+DevExpress 界面制作 wpf UIAutomation 控制别的程序 ok c#通过句柄控制别的程序  ok c# 截图  ok c# 多线程  ok c# 数据库myq ...

  5. Shiro-Permissions 对权限的深入理解

    单个权限 query单个资源多个权限 user:query user:add 多值 user:query,add单个资源所有权限 user:query,add,update,delete user:* ...

  6. C#操作计划任务

    昨天有一个任务,就是要下载相关文件,然后保存在相关路径下,这个没什么难度,所以就略过不谈,主要谈谈定时下载,即每天某个固定时间执行下载,这个功能我是用C#代码来操作windows自带的任务计划来实现的 ...

  7. Windows Server 2008 R2 备份与恢复详细实例

    Windows Server 2008 R2中Windows Server Backup备份与恢复 本实验是在虚拟机操作,因公司的需求,将备份存储到另一台服务器,于是我在现有linux备份服务器搭建了 ...

  8. 一次websocket的抓包体验

    一个简单的demo 我们知道websocket一种服务端推送技术,首先Websocket是基于HTTP协议的,或者说借用了HTTP的协议来完成一部分握手.后续数据传递是基于TCP的. 客户端代码 &l ...

  9. Java 实现 JS的eval函数

    JS的eval 函数, 给个表达式做参数, 返回表达式的值. Java的脚本引擎可以实现这个功能. 例子:   拼接一个字符串 \uxxxx, Unicode的十六进制编码, 然后把它打印出来. 即输 ...

  10. ffmpeg用法(心得体会还有你见过的用法)

    ffmpeg的常用用法很多,我这里提供的用法有可能有许多地方是你没见过的. 一.ffmpeg合并视频 我经常需要切割再把一些零碎的视频给拼接起来,这样可以省许多磁盘空间.其实用mencoder挺不错的 ...