服务器环境迁移,Linux centos7 64位 基础环境部署 jdk+tomcat+mysql+nginx
最近阿里云服务器到期,这个周末连夜将服务器迁移到美国去了,为什么迁移到美国去呢?主要是因为阿里云服务器费用高,另外网站的访问量不大,对网速要求也不高,主要是宣传和信息传递的作用,加上本人之前在搬瓦工上租了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 }
- 修改DNS解析将ip换成新的IP地址,访问域名验证是否ok,此处验证成功
- 安装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">
- 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