一、购买并连接VPS
1、购买搬瓦工vps,比较便宜的是1年49美元的这种,美国芝加哥机房,每月1000G流量,带宽1G,我实际用的话,速度很快。
这是购买教程,里面也有链接:https://www.hijk.pw/bandwagonghost-buy-vps-tutorial/
这是登录地址:https://bwh88.net/clientarea.php
2、购买后,如果系统不是CentOS,可以先关闭vps,然后重装系统。
3、系统选择Centos,最新版本就行了。
系统装完后,可以用passwd命令修改root密码。
4、安装后,连接vps。
用bitvise这个工具连接,非常好用,不仅有终端,还自带了ftp,https://www.bitvise.com/
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)
2、安装后用下面的信息就可以用v2ray工具连接并上网了(什么网站都能上,你懂的)。
三、安装博客环境并转移博客
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)
安装后记录网站信息。
生成phpinfo文件,查看php信息。
echo "<?php phpinfo(); ?>" > info.php
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。
修改mysql字符集:
刚安装完的mysql的字符集是西欧的字符集,我网站上的数据库是utf8,导入过来有些内容是乱码,所以要修改mysql默认的字符集。
进入mysql:命令:mysql -u root -p
输入:show variables like '%char%';
修改默认字符集:
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
重启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/***文件夹
4、上传网站文件
上传文件后,在网站后台创建有图片的文章,有时候图片不能自动上传。
可以通过修改文件夹创建者来解决。把文件夹创建者改成apache(id:48)。
查看目录创建者:ls www.tangzhe.com -l
修改目录创建者和用户组:chown -R apache:apache www.tangzhe.com
上面的用户名要跟php配置文件里的用户名和用户组对应。/etc/php-fpm.d/www.conf
www.conf文件里的user = 和 group =,这里默认的是apache
5、网站配置文件
根据刚才生成的配置文件,生成新的配置文件。
* 修改配置文件建议在服务器上用vi编辑器修改,下载到本地用windows的文本文档编辑,遇到过配置文件无论如何都不通过的情况。
先把这个配置文件下载到本地,然后复制一份,有关域名的部分修改成新网站的内容。
/etc/nginx/conf.d/你的域名.conf
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;
}
修改后,重启:nginx -s reload
7、上传网站文件并恢复数据库
网站文件用bitvise就可以上传。
数据库用phpmyadmin先备份,然后恢复。
导入数据时应该先建立好数据库和用户,跟之前的数据库名和用户名包括密码都一样在,然后每个库导入。
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
两个版本的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
把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
先在原来的注册商那里获取转移码,转移码会发送到邮箱。
在godaddy网站的这个链接搜索想转移的域名:http://www.godaddy.com/domains/domain-transfer.aspx
然后输入邮件中的转移码。
2、cdn
cdn我之前用的是国内某云的,现在由于备案的原因,也必须要用国外的。
我用cdn的目的无非是隐藏服务器的真实地址。
我用的是cloudflare的cdn,免费的。
继续后,删除现在的dns记录,换成Cloudflare的。
五、其它部分
1、打开搬瓦工防火墙
打开防火墙一定要在搬瓦工网站后台操作,如果用ssh终端操作,一开启防火墙ssh的连接就会断开。
检查防火墙状态及是否安装: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;
修改后重启nginx:nginx -s reload
/etc/php.ini,这个php配置文件。
upload_max_filesize = 2M,改成20M
post_max_size = 8M,改成20M
修改后可以直接重启服务器。
修改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定时任务
在phpmyadmin里,进入想要添加定时任务的数据库,点击事件。
新建一个事件,选择运行周期等信息,最后要把事件计划状态的开关打开,或者执行命令: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)
加入到[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信息复制上去。
[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
查询文件夹空间占用:du -h --max-depth=1 | sort -rh
猜你喜欢
- 2024-09-08账号交易记录
- 2024-04-14MT4和MT5显示乱码
- 2024-02-28OneDriver提示“请检查你的网络设置,然后重试”的解决方法
- 2024-02-27php的opcache加速器黑名单功能
- 2023-12-25检查USDTRX 多重签名
- 2023-12-03Discuz不显示在线会员列表以及自定义用户组图标不显示问题的解决方法
已有2位网友发表了看法
工程招标 评论于 [2020-08-24 17:50:21] 回复
支持下博主 欢迎回访呀
招投标 评论于 [2021-01-21 15:58:48] 回复
每一个步骤都介绍的好详细