网站首页 > 技术 正文

购买国外vps并且转移网站

唐哲 2020-07-04 15:05:23 技术 10017 ℃ 2 评论
如果只是想上网,那只需要看第一和第二部分就行了,其实非常简单,需要一个域名(二级域名就可以),然后再输入几条命令的就行啦,非常方便,速度也很不错。


一、购买并连接VPS

1、购买搬瓦工vps,比较便宜的是1年49美元的这种,美国芝加哥机房,每月1000G流量,带宽1G,我实际用的话,速度很快。

    这是购买教程,里面也有链接:https://www.hijk.pw/bandwagonghost-buy-vps-tutorial/

    这是登录地址:https://bwh88.net/clientarea.php

1.png


2、购买后,如果系统不是CentOS,可以先关闭vps,然后重装系统。

2.png


3、系统选择Centos,最新版本就行了。

3.png

    系统装完后,可以用passwd命令修改root密码。


4、安装后,连接vps。

    用bitvise这个工具连接,非常好用,不仅有终端,还自带了ftp,https://www.bitvise.com/

4.png


5、修改centos语言

    查看:locale或locale -a

    安装:yum install langpacks-zh_CN.noarch

    安装后再次确认配置

    vi /etc/locale.conf

    LANG="zh_CN.UTF-8"

    修改后重启即可


二、安装v2ray

1、在终端上的执行命令安装v2ray,有一键安装脚本,非常方便。

    教程:https://www.hijk.pw/v2ray-one-click-script-with-mask/

    准备一个二级域名,并指向到这台服务器。

    一键安装命令:bash <(curl -sL https://raw.githubusercontent.com/hijkpw/scripts/master/centos_install_v2ray2.sh)

5.png


2、安装后用下面的信息就可以用v2ray工具连接并上网了(什么网站都能上,你懂的)。

6.png


三、安装博客环境并转移博客

1、先用一键脚本安装,我的网站上zblog,不过不影响,环境是一样的,到时候把我的网站的文件和数据库恢复过来就行了,这里安装wordpress只是为了方便安装php和mysql环境用的。

    参考页面:https://www.hijk.pw/v2ray-mask-with-website/

    一键安装命令:bash <(curl -sL https://raw.githubusercontent.com/hijkpw/scripts/master/wordpress.sh)

7.png

    安装后记录网站信息。

    生成phpinfo文件,查看php信息。

    echo "<?php phpinfo(); ?>" > info.php

    image.png


2、mysql数据库安全配置

    命令:mysql_secure_installation

    会问一些问题:

        Enter current password for root (enter for none):
            (直接enter,預設MariaDB沒有密碼)
        Switch to unix_socket authentication [Y/n]
            (n,切換到unix_socket身份驗證)
        Change the root password? [Y/n]
            (Y,設定ROOT密碼)
        Remove anonymous users? [Y/n]
            (Y,移除匿名登入)
        Disallow root login remotely? [Y/n]
            (n,移除遠端root登入權限)
        Remove test database and access to it? [Y/n]
            (Y,移除測試資料庫及帳號)
        Reload privilege tables now? [Y/n]
            (Y,重新載入權限表)

    如果进行上面的设置后,登录phpmyadmin出错,要把phpinfo里面的session文件夹的权限设置成777。

    TIM图片20200718120725.png

    修改mysql字符集:

        刚安装完的mysql的字符集是西欧的字符集,我网站上的数据库是utf8,导入过来有些内容是乱码,所以要修改mysql默认的字符集。

        进入mysql:命令:mysql -u root -p

        输入:show variables like '%char%';

        image.png

        修改默认字符集:

        set global character_set_database=utf8;

        set global character_set_server=utf8;

        show variables like '%char%';

        修改/etc/my.cnf.d/,这个目录下的几个配置文件,在相应配置文件里添加如下相关配置。

        [mysqld]

        character-set-server=utf8

        [client]

        default-character-set=utf8

        [mysql]

        default-character-set=utf8

        image.png

        重启mysql服务:service mysqld restart

        再次查看mysql字符集,应该已经变成utf8

        

    修改mysql的root密码:

        mysql

        use mysql

        set password for 'root'@'localhost'=password('123456');

        flush privileges;


3、上传phpmyadmin

    我习惯用这个,你也可以用其它mysql管理工具。

    网站目录在/var/www/***文件夹

图片.png


4、上传网站文件

图片.png

    上传文件后,在网站后台创建有图片的文章,有时候图片不能自动上传。

    可以通过修改文件夹创建者来解决。把文件夹创建者改成apache(id:48)。

    查看目录创建者:ls www.tangzhe.com -l

    修改目录创建者和用户组:chown -R apache:apache www.tangzhe.com

    image.png

    上面的用户名要跟php配置文件里的用户名和用户组对应。/etc/php-fpm.d/www.conf

    www.conf文件里的user = 和 group =,这里默认的是apache

    image.png


5、网站配置文件

    根据刚才生成的配置文件,生成新的配置文件。

    * 修改配置文件建议在服务器上用vi编辑器修改,下载到本地用windows的文本文档编辑,遇到过配置文件无论如何都不通过的情况。

    先把这个配置文件下载到本地,然后复制一份,有关域名的部分修改成新网站的内容。

    /etc/nginx/conf.d/你的域名.conf

    图片.png

    crt和key是ssl证书,在申请ssl的时候会有,我用的是腾讯的免费证书,把证书提前上传到服务器,目录是上面红框中的目录。/etc/letsencrypt/live/www.tangzhe.com

    修改好conf文件后,把conf文件上传到服务器。/etc/nginx/conf.d/

    证书和conf配置文件都上传后,执行:nginx -s reload


6、不带www的地址tangzhe.com做301强制跳转到www.tangzhe.com

    把www.tangzhe.com.conf文件顶部这部分,修改成下面这样。

    server {
    listen 80;
    server_name tangzhe.com www.tangzhe.com;
    return 301 https://www.tangzhe.com:443$request_uri;
    }

    server {
    listen 443;
    server_name tangzhe.com;
    return 301 https://www.tangzhe.com:443$request_uri;
    } 

    图片.png

    修改后,重启:nginx -s reload


7、上传网站文件并恢复数据库

    网站文件用bitvise就可以上传。

    数据库用phpmyadmin先备份,然后恢复。

    导入数据时应该先建立好数据库和用户,跟之前的数据库名和用户名包括密码都一样在,然后每个库导入。

    image.png


8、安装php5使php7和php5共存

    按上面的方法安装的php是php7.4.7版本,我有一个子网站是基于php5.6的,这个网站在php7下面会出错,要么修改网站,使网站支持php7,要么安装一个php5到服务器上,并用于这个网站。

    以下内容参考了这个网页:https://www.howtoing.com/run-multiple-websites-with-different-php-versions-in-nginx

    如果执行下面的出错,要先安装存储库:

    # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    # yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

    安装php5.6

    yum install php56 php56-php-common php56-php-fpm

    yum install php56-php-mysql php56-php-pecl-memcache php56-php-pecl-memcached php56-php-gd php56-php-mbstring php56-php-mcrypt php56-php-xml php56-php-pecl-apc php56-php-cli php56-php-pear php56-php-pdo

    检查php版本

    php -v

    image.png

    两个版本的php-fpm配置文件

    php7:/etc/php-fpm.d/www.conf

    php5:/etc/opt/remi/php56/php-fpm.d/www.conf

    修改:   

        listen = 127.0.0.1:9000 [php-fpm]

        listen = 127.0.0.1:9001 [php56-php-fpm]

    修改后,把两个文件上传到服务器。

    建立php5.6启动项:

        systemctl enable php56-php-fpm.service

        systemctl start php56-php-fpm

    修改网站配置文件:

        /etc/nginx/conf.d/www.tangzhe.com.conf

        image.png

        把fastcgi_pass php-fpm;注释掉,如果用php7,改成:fastcgi_pass   127.0.0.1:9000;

        如果用php5,改成:fastcgi_pass   127.0.0.1:9001;


    php5的php.ini目录:/etc/opt/remi/php56/php.ini

    php5的log目录:/var/opt/remi/php56/log/php-fpm/www-error.log


    php7的php.ini目录:/etc/php.ini    

    php7的log目录:/var/log/php-fpm/www-error.log


四、转移域名和cdn

1、我的域名是在国内的某云,如果不想备案,那也必须要转移到国外。

    这是域名转移到godaddy的教程。https://sg.godaddy.com/zh/help/godaddy-1592

    先在原来的注册商那里获取转移码,转移码会发送到邮箱。

    图片.png

    在godaddy网站的这个链接搜索想转移的域名:http://www.godaddy.com/domains/domain-transfer.aspx

    图片.png

    然后输入邮件中的转移码。


2、cdn

    cdn我之前用的是国内某云的,现在由于备案的原因,也必须要用国外的。

    我用cdn的目的无非是隐藏服务器的真实地址。

    我用的是cloudflare的cdn,免费的。

    图片.png

    继续后,删除现在的dns记录,换成Cloudflare的。

    图片.png 


五、其它部分

1、打开搬瓦工防火墙

    打开防火墙一定要在搬瓦工网站后台操作,如果用ssh终端操作,一开启防火墙ssh的连接就会断开。

    图片.png

    检查防火墙状态及是否安装:systemctl status firewalld

    开启防火墙:systemctl start firewalld

    开启端口:firewall-cmd --zone=public --add-port=443/tcp --permanent

    删除端口:firewall-cmd --remove-port=443/tcp --permanent

    禁ping:firewall-cmd --add-rich-rule='rule protocol value=icmp drop' --permanent

    打开ping:firewall-cmd --remove-rich-rule='rule protocol value=icmp drop' --permanent

    添加端口后重启防火墙:firewall-cmd --reload

    查看打开的端口:firewall-cmd --zone=public --list-ports

    查看某个端口是否开放:firewall-cmd --zone=public --query-port=80/tcp

    像我需要开启的端口是80,443,ssh连接端口

    开机启动防火墙:systemctl enable firewalld.service


2、修改nginx和php上传文件限制

    /etc/nginx目录

    nginx.conf文件增加一行client_max_body_size 20m;

    图片.png

    修改后重启nginx:nginx -s reload

    

    /etc/php.ini,这个php配置文件。

    upload_max_filesize = 2M,改成20M

    post_max_size = 8M,改成20M

    图片.png

    修改后可以直接重启服务器。

    

    修改nginx最大连接数:

    /etc/nginx/nginx.conf

    修改:worker_connections 65535;

    在/etc/security/limits.conf 最后增加

    *soft nofile 65535

    *hard nofile 65535

    *soft nproc 65535

    *hard nproc 65535

    可以使用这个命令查看连接数:ulimit -n

    执行这个命令可以临时生效:ulimit -HSn 65535

    修改之后重启服务器。


3、添加mysql定时任务

图片.png

    在phpmyadmin里,进入想要添加定时任务的数据库,点击事件。

    图片.png

    新建一个事件,选择运行周期等信息,最后要把事件计划状态的开关打开,或者执行命令:set global event_scheduler =1

    这样的设置在重启vps后,状态又变成关闭,想要永久打开mysql计划任务,要在my.ini加上一行:event_scheduler=ON

    contos的my.cnf文件目录在:etc/

    或者是/etc/my.cnf.d目录下的server.cnf文件。

    (可以用这个命令全盘查找文件:find / -name my.cnf)

    图片.png

    加入到[mysqld]下面。


4、centos常用命令

    列出所有端口:netstat -ntlp

    清除windows的dns缓存:ipconfig /flushdns

    显示443端口连接数:netstat -an |grep 'ESTABLISHED' |grep -i '443' |wc -l

    显示443端口详细连接:lsof -i:443

    在根目录全盘查找文件的路径:find / -name www.conf

    把tmp文件夹及子文件夹和文件权限都设置成777:chmod -R 777 tmp

    把当前目录以及子目录文件和文件夹权限设置成644:chmod 644 -R ./;

    把当前目录下的目录权限设置成777(配合上条):find ./ -type d -exec chmod 755 {} \;

    查看目录创建者:ls www.tangzhe.com -l

    修改目录创建者和用户组:chown -R apache:apache www.tangzhe.com

    重启php:systemctl restart php-fpm

    复制一个文件:cp file1 file2  

    复制一个目录下的所有文件到当前工作目录:cp dir/* .  

    复制一个目录到当前工作目录:cp -a /tmp/dir1 .  

    复制一个目录:cp -a dir1 dir2

    删除文件:rm 文件名

    删除文件夹:rm -rf 文件夹

    创建文件夹:mkdir 文件夹

    vi全部删除文件内容:按esc键后,先按gg(到达顶部),然后dG

    查看正在运行的服务:systemctl | grep running

    查看内存占用:free

    查看系统中有哪些用户:cut -d : -f 1 /etc/passwd

    查看可以登录系统的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1

    查看系统启动项:systemctl list-unit-files


    nginx日志目录:/var/log/nginx/

    nginx配置文件目录:/etc/nginx/conf.d/

    php5的php.ini目录:/etc/opt/remi/php56/php.ini

    php5的log目录:/var/opt/remi/php56/log/php-fpm/www-error.log

    php7的php.ini目录:/etc/php.ini    

    php7的log目录:/var/log/php-fpm/www-error.log

    php7:/etc/php-fpm.d/www.conf   [PHP 7.1]

    php5:/opt/remi/php56/root/etc/php-fpm.d/www.conf


备份mysql数据库:

    mysqldump -uroot -ppassword abc > abc.sql

    上面命令是,备份abc数据库为abc.sql中到当前目录。

    (上面的备份方式在老版本的mysql中可以用,新版用下面的方法)

    新建一个文本文档,把mysql信息复制上去。

    image.png


    [client]

    host = 127.0.0.1

    user = root

    password = '密码'

    在终端输入: mysqldump --defaults-extra-file=my.txt abc > abc.sql

    就可以备份abc数据库。


压缩文件夹:

    tar -zcvf www.tar.gz /var/www


宝塔伪静态目录:

    网站搬家之后,伪静态要重新设置,伪静态目录是:/www/server/panel/vhost/rewrite

已有2位网友发表了看法

  • 工程招标

    工程招标  评论于 [2020-08-24 17:50:21]  回复

    支持下博主 欢迎回访呀

  • 招投标

    招投标  评论于 [2021-01-21 15:58:48]  回复

    每一个步骤都介绍的好详细

欢迎 发表评论:

请填写验证码
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
搜索
网站分类
站点信息
  • 文章总数:89
  • 页面总数:1
  • 分类总数:4
  • 标签总数:19
  • 评论总数:97
  • 浏览总数:617505
控制面板
您好,欢迎到访网站!
  查看权限
唐哲 - 和仲科技