Centos7 linux服务器更换操作系统,搭建网站 ss
sinye56 2024-10-29 16:17 31 浏览 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确实很猛
完
相关推荐
- 程序员:JDK的安装与配置(完整版)_jdk的安装方法
-
对于Java程序员来说,jdk是必不陌生的一个词。但怎么安装配置jdk,对新手来说确实头疼的一件事情。我这里以jdk10为例,详细的说明讲解了jdk的安装和配置,如果有不明白的小伙伴可以评论区留言哦下...
- Linux中安装jdk并配置环境变量_linux jdk安装教程及环境变量配置
-
一、通过连接工具登录到Linux(我这里使用的Centos7.6版本)服务器连接工具有很多我就不一一介绍了今天使用比较常用的XShell工具登录成功如下:二、上传jdk安装包到Linux服务器jdk...
- 麒麟系统安装JAVA JDK教程_麒麟系统配置jdk
-
检查检查系统是否自带java在麒麟系统桌面空白处,右键“在终端打开”,打开shell对话框输入:java–version查看是否自带java及版本如图所示,系统自带OpenJDK,要先卸载自带JDK...
- 学习笔记-Linux JDK - 安装&配置
-
前提条件#检查是否存在JDKrpm-qa|grepjava#删除现存JDKyum-yremovejava*安装OracleJDK不分系统#进入安装文件目...
- Linux新手入门系列:Linux下jdk安装配置
-
本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...
- 测试员必备:Linux下安装JDK 1.8你必须知道的那些事
-
1.简介在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还得一个一个的摸索尝试,而且网上大多数都是一些Oracle收购Sun前,或者就...
- Linux 下安装JDK17_linux 安装jdk1.8 yum
-
一、安装环境操作系统:JDK版本:17二、安装步骤第一步:下载安装包下载Linux环境下的jdk1.8,请去官网(https://www.oracle.com/java/technologies/do...
- 在Ubuntu系统中安装JDK 17并配置环境变量教程
-
在Ubuntu系统上安装JDK17并配置环境变量是Java开发环境搭建的重要步骤。JDK17是Oracle提供的长期支持版本,广泛用于开发Java应用程序。以下是详细的步骤,帮助你在Ubuntu系...
- 如何在 Linux 上安装 Java_linux安装java的步骤
-
在桌面上拥抱Java应用程序,然后在所有桌面上运行它们。--SethKenlon(作者)无论你运行的是哪种操作系统,通常都有几种安装应用程序的方法。有时你可能会在应用程序商店中找到一个应用程序...
- Windows和Linux环境下的JDK安装教程
-
JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...
- linux安装jdk_linux安装jdk软连接
-
JDK是啥就不用多介绍了哈,外行的人也不会进来看我的博文。依然记得读大学那会,第一次实验课就是在机房安装jdk,编写HelloWorld程序。时光飞逝啊,一下过了十多年了,挣了不少钱,买了跑车,娶了富...
- linux安装jdk,全局配置,不同用户不同jdk
-
jdk1.8安装包链接:https://pan.baidu.com/s/14qBrh6ZpLK04QS8ogCepwg提取码:09zs上传文件解压tar-zxvfjdk-8u152-linux-...
- 运维大神教你在linux下安装jdk8_linux安装jdk1.7
-
1.到官网下载适合自己机器的版本。楼主下载的是jdk-8u66-linux-i586.tar.gzhttp://www.oracle.com/technetwork/java/javase/downl...
- window和linux安装JDK1.8_linux 安装jdk1.8.tar
-
Windows安装JDK1.8的步骤:步骤1:下载JDK打开浏览器,找到JDK下载页面https://d.injdk.cn/download/oraclejdk/8在页面中找到并点击“下载...
- 最全的linux下安装JavaJDK的教程(图文详解)不会安装你来打我?
-
默认已经有了linux服务器,且有root账号首先检查一下是否已经安装过java的jdk任意位置输入命令:whichjava像我这个已经安装过了,就会提示在哪个位置,你的肯定是找不到。一般我们在...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 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进程通信 (63)