Centos7 linux服务器更换操作系统,搭建网站 ss
sinye56 2024-10-29 16:17 7 浏览 0 评论
我现在使用的是centos6的操作系统,由于之前更换内核导致现在update更新不了了。。
所以不如直接用centos7了
网站环境是nginx mariaDB php7
搭建SS
网络加速net-speeder 因为锐速已经停止安装了,估计是被和谐了
以及一些优化
由于最近联通线路吃屎
目前我使用的vultr日本节点爆炸了,几天前我更换到美国芝加哥节点,反而比日本稳定了,当然,距离太远,速度也就这样了
我这里新建一个芝加哥和日本,哪个好用用哪个
老方案,5美元的
系统centos7 x64
vutlr上次在推特上宣布VPS部署时间在1分钟之内,果然很快!
本来选VPS是要看延迟 带宽 速度 丢包率的
现在只能看丢包率了。。惨惨惨
左边芝加哥,右边日本
日本看似延迟低,但是这个丢包会导致终端操作都卡翔
果断删掉日本的
直接销毁不客气,然而提示我5分钟后才能删除,FFFFk
我们需要的工具有两款
xshell 这个大家都懂的
filezilla 支持ftp ftps sftp各种协议~
删除
这里打个标签,不然两台搞混了就完了
顺便,DNS反向解析我习惯写上fbi
登陆一下,看下系统,是centos7,就不再需要vultr的后台了,我们直接ssh操作就可以了
看下CPU信息,要知道
vultr有两种CPU
一种是3.5的 E3
一种是2.4的E5
你肯定知道哪个好
首先我们看下IP会发现,默认没有ifconfig命令
因为我这是核心版
不过图里敲错了
开启ifconfig和netstat
yum install net-tools -y
ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
OK了,注意的是,vutlr的系统模板下,已经给你吧eth0的名字改好了
centos7默认的网卡命令你们可以百度一下,非常有意思
热身运动,熟悉下centos7
centos7有两个很大的改动
一是,使用了systemctl替代了service
二是,使用了firewall提到了iptables
关闭服务systemctl stop sshd.service
开启服务systemctl start sshd.service
重启服务systemctl restart sshd.service
显示状态systemctl status sshd.service
开机启动systemctl enable sshd.service
禁用启动systemctl disable sshd.service
查看服务的开机启动情况
systemctl list-unit-files
systemctl list-unit-files|grep enabled
[root@vultr ~]#
是不是看我们的这个标签不顺眼?
我也是
我们改下主机名
7下改主机名跟6是不同的,主要是文件位置变了
hostname tnt.gov
/etc/sysconfig/network
hostname tnt.gov
/etc/hostname
tnt.gov
/etc/hosts
111.111.111.111 tnt.gov
改完主机名是重新登录可见的,不是重启
基本上除了升级内核是不需要重启的
当然现在升级内核也可以不重启了
上面的操作你会发现,VIM默认也没有
yum install vim -y
vultr的模板里自带了epel的源~
为什么我不用VI?不知道啊,从来没用过VI
红帽系的系统中有两个非常重要的软件源
epel和remi
详细的命令参数我都会放到我的博客中,毕竟贴吧容易吞
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
remi
接下来做什么?
我先把原服务器的东西备份过来吧
比如我的显示负载的小脚本
一行shell实现的,只是特别长而已
echo ;echo ;echo http 80: ; netstat -na | grep :80 |grep -v grep | wc -l ;echo https 443: ; netstat -na | grep :443 |grep -v grep | wc -l ;echo php-fpm: ; ps aux | grep php-fpm|grep -v grep | wc -l ;echo nginx: ;ps aux | grep nginx|grep -v grep| wc -l;echo mysql: ;ps aux | grep mysql |grep -v grep| wc -l ;echo load:;w | grep load;echo UseMem MB:;free -m | grep buffers/cache|grep -v grep | awk '{print $3}';echo FreeMem MB:;free -m | grep buffers/cache|grep -v grep | awk '{print $4}';echo UseSwap MB:;free -m | grep Swap |grep -v grep| awk '{print $3}';echo CPU:;top -n1 | grep Cpu;echo TCP;netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn ;echo ; echo
我喜欢长,因为我也长
把内容写到x.sh中
chmod +x x.sh
./x.sh即可
ls显示的是文件
如何显示隐藏文件?
ls -a即可
.bashrc是一个控制用户终端变量的文件,我添加了以下内容
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
myrm(){ D=/rm/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv -v "$@" $D && echo "moved to $D ok"; }
alias rm=myrm
rm就变成了有回收站的rm了,文件会被放到/rm中~
source .bashrc可以让文件修改后立即生效
作为运维,最重要的是什么?是数据!
我自己做了一个七牛+百度云+本地的备份脚本
我把它转移到新服务器中~
备份程序前,我先备份下网站~首先是数据库
adminer.php是一个非常非常小巧的数据库管理工具,只有300多k
备份数据库只要duang的一下
今天是第一次用root登陆,因为我要看看有啥要备份的平时都是普通用户登陆的
导出的数据也只有800K而已,我的网站确实小
备份下网站内容
备份到七牛的速度还是可以的
然后把备份程序本身备份下
往回拖的速度真是凄凄惨惨
备份下nginx的配置文件,3套证书和nginx主配置文件和conf.d里的虚拟主机配置文件
配置文件内容我会放到我的博客中
然后回到我们新服务器,安装nginx
我看直接安装开发版吧
开发版都1.9.11了
上面被度娘吞了一层,请到我的博客看
nginx -V
nginx version: nginx/1.9.11
built by gcc 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
centos7中需要手动激活rc.local文件
chmod +x /etc/rc.d/rc.local
说激活不太合适,主要是默认他不执行
既然我们安装了nginx了,那就要设置防火墙了,我大约要用下面这些端口
222 用作ssh的
80 443 http的
3389 ss的
别的暂时没了,我们添加一下
OK的~
比iptables要清晰
我们运行一下nginx
nginx 这就是运行了
nginx -s reload 是重新载入配置文件
nginx -t是测试配置文件
我们可以看到,web基础服务器算是OK了,php和数据库要安装的
我们先来个一键搭建ss服务器
然后浏览器全局代理,即可发现IP变了,就这么简单
ss服务器开机启动把图里最后一样写到rc.local即可
详情看我博客
之前我说过,我的服务器是自动备份的,如何实现自动备份?
其实就是计划任务+备份脚本
接下来安装php了
注意 php和php-fpm其实是两种东西
php是apache的一个mod
而php-fpm是单独的php管理工具
这里我都安装,因为我懒啊~
当然,我是要安装php7的
vim /etc/yum.repos.d/remi-php70.repo
enabled=1
启用php7源
yum install php php-cli php-common php-devel php-fpm php-gd php-imap php-ldap php-mbstring php-mcrypt php-mssql php-mysqlnd php-odbc php-pdo php-pear php-pecl-jsonc php-pecl-jsonc-devel php-pecl-zip php-process php-snmp php-soap php-tidy php-xml php-xmlrpc php-opcache
php-fpm -v
PHP 7.0.3 (fpm-fcgi) (built: Feb 3 2016 11:31:08)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
然后是mariadb了,注意,我上面安装的服务都没启动
默认密码你要注意,上面是例子,别写上123456
Link start~
systemctl start mysqld.service
启动
mysql -V
mysql Ver 15.1 Distrib 10.1.11-MariaDB, for Linux (x86_64) using readline 5.1
php-fpm socket模式
vim /etc/php-fpm.d/http://www.conf
listen = /dev/shm/fpm-cgi.sock
listen.backlog = 65535
listen.owner = nginx
listen.group = apache
listen.mode = 0660
php禁用一些不安全函数,改改上传文件大小
php.ini
disable_functions=exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,dl,popen,pcntl_exec,socket_accept,socket_bind,socket_clear_error,socket_close,socket_connect,socket_create_listen,socket_create_pair,socket_create,socket_get_option,socket_getpeername,socket_getsockname,socket_last_error,socket_listen,socket_read,socket_recv,socket_recvfrom,socket_select,socket_send,socket_sendto,socket_set_block,socket_set_nonblock,socket_set_option,socket_shutdown,socket_strerror,socket_write,stream_socket_server,disk_total_space,disk_free_space,diskfreespace,getrusage,get_current_user,getmyuid,getmypid,dl,leak,listen,chgrp,link,symlink,dlopen,proc_nice,proc_get_stats,proc_terminate,shell_exec,sh2_exec,posix_getpwuid,posix_getgrgid,posix_kill,ini_restore,mkfifo,dbmopen,dbase_open,filepro,filepro_rowcount,posix_mkfifo,putenv,sleep,chmod,chown,chroot,ini_set,phpinfo,proc_get_status,error_log,syslog,readlink,putenv
上传文件大小在php.ini中搜2M
直接改成200M就行了~
时区,我们设置下,不然日志记录的时间都是乱的
date
Mon Feb 15 04:51:05 UTC 2016
TZ='Asia/Shanghai'; export TZ
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
这是最简单的方法
配置的差不多了,yum update一下
升级下内核
内存768M其实有点小,反正是SSD服务器,我们做个swap文件,也弄成768M吧,还对称不是~
SWAP交换文件
dd if=/dev/zero of=/tmp/swap bs=1M count=768
mkswap /tmp/swap #创建swap文件
swapon /tmp/swap #激活swap文件
swapon -s #查看swap
Filename Type Size Used Priority
/dev/sda2 partition 490492 0 -1
/tmp/swap file 2097148 0 -2
修改/etc/fstab文件,增加以下内容,让系统引导时自动启动
vim /etc/fstab #在最后添加下面代码
/tmp/swap swap swap default 0 0
:wq! #保存退出
dd if=/dev/zero of=/tmp/swap bs=1M count=768
768+0 records in
768+0 records out
805306368 bytes (805 MB) copied, 1.83505 s, 439 MB/s
不愧是SSD
然后我们装个net-speeder这个在我博客有,很简单
然后?我们把备份的文件全部传上去,开始恢复
你可能奇怪,这么慢我为什么还用?
因为vultr说春季会上新亚洲机房,我只是在等而已
恢复下nginx,测试下,OK
我们把hosts绑定到新域名,进行网站恢复,首先打开探针
502 Bad Gateway
是因为php没有运行,这里我们启动组件,并让他开机启动
systemctl enable mariadb.service
systemctl restart mariadb.service
systemctl enable nginx.service
systemctl restart nginx.service
systemctl enable php-fpm.service
systemctl restart php-fpm.service
探针OK
打开网站会提示数据库错误
这里我们需要用adminer管理数据库
删除默认空用户
新建mysql用户
导入数据库
关联数据库和用户
完成
新建数据库
删除空用户
创建用户并关联
导入
OK
然后更改dns到新IP
这是进入最后的查漏阶段,非常不建议删除旧服务器,个人建议保留下,看看有什么遗忘,确认无误再删除
探针跑分,php7确实很猛
完
相关推荐
- Linux在线安装JDK1.8
-
首先在服务器pingwww.baidu.com查看是否可以连网然后就可以在线下载一、下载安装JDK1.81、在下载安装的同时做好一些准备工作...
- Linux安装JDK,超详细
-
1、了解RPMRPM是Red-HatPackageManager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux...
- Linux安装jdk1.8(超级详细)
-
前言最近刚购买了一台阿里云的服务器准备要搭建一个网站,正好将网站的一个完整搭建过程分享给大家!#一、下载jdk1.8首先我们需要去下载linux版本的jdk1.8安装包,我们有两种方式去下载安装...
- Linux系统安装JDK教程
-
下载jdk-8u151-linux-x64.tar.gz下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.ht...
- 干货|JDK下载安装与环境变量配置图文教程「超详细」
-
1.JDK介绍1.1什么是JDK?SUN公司提供了一套Java开发环境,简称JDK(JavaDevelopmentKit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Jav...
- Linux下安装jdk1.8
-
一、安装环境操作系统:CentOSLinuxrelease7.6.1810(Core)JDK版本:1.8二、安装步骤1.下载安装包...
- Linux上安装JDK
-
以CentOS为例。检查是否已安装过jdk。yumlist--installed|grepjdk或者...
- Linux系统的一些常用目录以及介绍
-
根目录(/):“/”目录也称为根目录,位于Linux文件系统目录结构的顶层。在很多系统中,“/”目录是系统中的唯一分区。如果还有其他分区,必须挂载到“/”目录下某个位置。整个目录结构呈树形结构,因此也...
- Linux系统目录结构
-
一、系统目录结构几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树...
- Linux文件查找
-
在Linux下通常find不很常用的,因为速度慢(find是直接查找硬盘),通常我们都是先使用whereis或者是locate来检查,如果真的找不到了,才以find来搜寻。为什么...
- 嵌入式linux基本操作之查找文件
-
对于很多初学者来说都习惯用windows操作系统,对于这个系统来说查找一个文件简直不在话下。而学习嵌入式开发行业之后,发现所用到的是嵌入式Linux操作系统,本想着跟windows类似,结果在操作的时...
- linux系统查看软件安装目录的方法
-
linux系统下怎么查看软件安装的目录?方法1:whereis软件名以查询nginx为例子...
- Linux下如何对目录中的文件进行统计
-
统计目录中的文件数量...
- Linux常见文件目录管理命令
-
touch用于创建空白文件touch文件名称mkdir用于创建空白目录还可以通过参数-p创建递归的目录...
- Linux常用查找文件方法总结
-
一、前言Linux系统提供了多种查找文件的命令,而且每种查找命令都具有其独特的优势,下面详细总结一下常用的几个Linux查找命令。二、which命令查找类型:二进制文件;...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle忘记用户名密码 (59)
- oracle11gr2安装教程 (55)
- mybatis调用oracle存储过程 (67)
- oracle spool的用法 (57)
- oracle asm 磁盘管理 (67)
- 前端 设计模式 (64)
- 前端面试vue (56)
- linux格式化 (55)
- linux图形界面 (62)
- linux文件压缩 (75)
- Linux设置权限 (53)
- linux服务器配置 (62)
- mysql安装linux (71)
- linux启动命令 (59)
- 查看linux磁盘 (72)
- linux用户组 (74)
- linux多线程 (70)
- linux设备驱动 (53)
- linux自启动 (59)
- linux网络命令 (55)
- linux传文件 (60)
- linux打包文件 (58)
- linux查看数据库 (61)
- linux获取ip (64)
- 关闭防火墙linux (53)