百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

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 - 安装&amp;配置

前提条件#检查是否存在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像我这个已经安装过了,就会提示在哪个位置,你的肯定是找不到。一般我们在...

取消回复欢迎 发表评论: