引子Light计划我思考良久,觉得可以着手了。第一束光便照进---服务器:

服务器对于编程者爱好者而言就像剑之于男人的浪漫

关于Linux云服务器的入门,该走的坑带你走一遍。

记住一点:服务器就是一台永远开机,没有屏幕的本子,一个永不见天日的搬砖工。

第一章:初入江湖

1. 滴血认主怎么确定一个东西是你的?没错,是密码。这样你的神器就只归你所有:

2.我是谁,我在哪里,我要去往何方点击登录,进入服务器

然后发出灵魂三问之首:我是谁?

然后发出灵魂三问之中:我在哪里?

然后发出灵魂三问之尾:我要去往何方?

这个问题太困难,服务器表示I don't know.

3.剑入宝鞘,鞘配英雄每次登录都要用浏览器未免太麻烦,有很多终端的连接软件,如SecureCRT

下载什么的,一搜一大把。点击右上角快速连接,主机名填你的公网ip(第一幅图里一片红的地方是ip)

然后会让你输密码,输一下就行了。

[root@VM_0_4_centos ~]# cat /etc/centos-release # 查看版本 CentOS Linux release 7.6.1810 (Core)现在服务器就是一个只有一条钢索桥的小破村,先把ftp跑通,至少能和服务器文件收发

在控制台的安全组里先把常用放入端口开放一下22,80,21,3306等。

[root@VM_0_4_centos ~]# systemctl status firewalld.service # 查看防火墙信息 ● firewalld.service - firewalld - dynamic firewall daemon    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)    Active: inactive (dead) # 表示默认就是关的      Docs: man:firewalld(1)       [root@VM_0_4_centos ~]# rpm -qa | grep vsftpd #查看是否已安装vsftpd [root@VM_0_4_centos ~]# yum -y install vsftpd #安装vsftpd [root@VM_0_4_centos ~]# systemctl start vsftpd #开启vsftpd默认的ftp文件在/var/ftp下,现在通过浏览器就可以访问、下载服务器文件了。[root@VM_0_4_centos ~]# cd /var/ftp [root@VM_0_4_centos ftp]# mkdir projects [root@VM_0_4_centos ftp]# ls projects  pub

这里通过FileZilla进行文件传输:

坑来了:503 Permission denied,,哥可是至高无上的root权限,你有什么资格denied我?

vsftpd默认不给root用户暴露ftp,可以修改一下,或者新建一个用户。vi /etc/vsftpd/ftpusers #修改:注释root vi /etc/vsftpd/user_list #修改:注释root /bin/systemctl restart vsftpd.service # 重启

一首我很喜欢的MV奉上,也是音视频文章的素材: ftp://175.24.44.231/projects/

这样两端的路就通了,文件实现互通。

第二章:仗剑江湖(Java)

1.天下第一剑-Java看了一下,没有Java怎么能忍,宝剑出鞘,召唤Java。[root@VM_0_4_centos local]# java --version -bash: java: command not found---[·  yum search jdk #搜索jdk ---->[结果]----- //略... java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment //略... ---[·  yum install java-1.8.0-openjdk.x86_64 # 安装JDL ---[·  java -version  openjdk version "1.8.0_232" OpenJDK Runtime Environment (build 1.8.0_232-b09) OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

2.Java之剑最华丽光环--SpringBoot下面运行SpringBoot项目,先演示一下,详见SpringBoot系列(已放在ftp里,可下载)

将本地写好的项目通过ftp传到服务器上去,使用java -jar 运行[root@VM_0_4_centos ~]# cd ~ [root@VM_0_4_centos ~]# mkdir project [root@VM_0_4_centos ~]# ls project

服务器已打开,现在可以访问:http://175.24.44.231/

至此,你可以测试服务器是否正常运作,连通无误,这是一切的基础

3.以宇宙的名义-域名其实域名就是将你的服务器ip映射成 www.toly1994.com 而已,并没有什么大不了的

不用域名,给别人抛个ip也能访问,只不过有了域名+备案 就名正言顺,咱是好公民。

很简单,将域名解析一下,映射到公网ip即可

这样沉睡已久的 toly1994.com 开始苏醒,

为服务器小破村修了路,又盖了间小破房,至此,域名解析OK。

4. 你的生命有我来守护 - 防火墙systemctl start firewalld.service # 开启防火墙 systemctl stop firewalld.service # 关闭防火墙 systemctl status firewalld.service # 查看防火墙状态防火墙一旦开启,再访问toly1994.com就会找不到80端口,需要开放防火墙端口[root@VM_0_4_centos ~]# /sbin/iptables -L -n # 查看防火墙开放的端口 Chain INPUT (policy ACCEPT) target     prot opt source               destination          Chain FORWARD (policy ACCEPT) target     prot opt source               destination          Chain OUTPUT (policy ACCEPT) target     prot opt source               destinationfirewall-cmd --permanent --add-port=80/tcp # 开放80端口 firewall-cmd --reload # 重启防火墙当你需要开放什么端口时,自己开就行了。还有个小点:当你关闭命令行时应用就挂了

可以用sudo nohup java -jar n_stack-0.0.1-SNAPSHOT.jar开启

Java/SpringBoot大军已集结完毕,随时准备进击...

第三章:多媒体风云-nginx/流媒体服务器

1.创建文件夹---[·  cd /usr/local/ ---[·  mkdir nginx ---[·  cd nginx/

2.下载解压nginx和nginx-rtmp-modulewget https://nginx.org/download/nginx-1.16.1.tar.gz wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.1.tar.gz ---[·  tar -xvf nginx-1.16.1.tar.gz ---[·  tar -xvf v1.2.1.tar.gz ---[·  ls nginx-1.16.1  nginx-1.16.1.tar.gz  nginx-rtmp-module-1.2.1  v1.2.1.tar.gz # 这时候压缩包就可以删掉了

3.编译nginx---[·  cd nginx-1.16.1 # 添加编译配置--注意模块名 ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-1.2.1 make && make install #编译安装 ---[·  cd .. ---[·  ls conf  html  logs  nginx-1.16.1  nginx-rtmp-module-1.2.1  sbin

4.[配置的修改处]80端口已经在用了,可以在conf/nginx.conf里修改端口为8080---[·  cd conf ---[·  ls fastcgi.conf          fastcgi_params          koi-utf  mime.types          nginx.conf          scgi_params          uwsgi_params          win-utf fastcgi.conf.default  fastcgi_params.default  koi-win  mime.types.default  nginx.conf.default  scgi_params.default  uwsgi_params.default ---[·  vim nginx.conf

5. 启动nginx控制台什么都没输出,别慌,没有错就是成功了

注意:腾讯云控制台的安全组和防火墙需要开放8080端口

---[·   cd /usr/local/nginx/sbin  ---[·   ./nginx ---[·   ps -ef | grep nginx # 查看情况 root     10043     1  0 10:32 ?        00:00:00 nginx: master process ./nginx nobody   10044 10043  0 10:32 ?        00:00:00 nginx: worker process root     14035 30742  0 11:03 pts/2    00:00:00 grep --color=auto nginxcd /usr/local/nginx/sbin ./nginx -s stop 关闭 ./nginx -s reload 重启

6.媒体流一下下记得在ftp里有一个视频---[·   cd /var/ftp/projects  ---[·   ls n_stack-0.0.1-SNAPSHOT.jar  sh.mp4---[·   vim /usr/local/nginx/conf/nginx.conf ####################修改添加与http、event同级#################### rtmp {                #RTMP服务    server {        listen 8081;  #//服务端口8081,记得打开安全组和防火墙端口    chunk_size 4096;   #//数据传输块的大小    application toly {        play /var/ftp/projects; #//视频文件夹    }    } } ####################修改#################### ---[·  cd /usr/local/nginx/sbin ---[·  sudo ./nginx -s reload #重启下面是本地通过ffplay拉流播放的效果,表示OK。

这样在projects下方的任何视频都可以被点播,至于FFmpeg直播,祈祷本王活得久一点吧.....ffplay rtmp://toly1994.com:8081/toly/sh.mp4

nginx大军集结完毕,FFmpeg大军已在路上,准备进击....

第四章:天下第二剑-MySQL

1.前期准备下载解压mysqlrpm -qa|grep -i mysql # 查看是否有mysql # 如果有 rpm -e XXXXX --nodeps 删除 cd /usr/local   #选一个下载文件的地方 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz # 下载mysql tar -xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz # 解压mysql [root@VM_0_4_centos mysql]# mv mysql-8.0.18-linux-glibc2.12-x86_64 mysql #重命名为mysql [root@VM_0_4_centos mysql]# ls bin  etc  games  include  lib  lib64  libexec  mysql  qcloud  sbin  share  src  yd.socket.server创建mysql用户及组cd /usr/local # local目录 groupadd mysql # 创建mysql组 useradd -r -g mysql mysql # 在mysql组 创建mysql用户 cd mysql/ #进入mysql文件下 chown -R mysql:mysql ./ #授权所有的文件初始化mysql---[·  pwd /usr/local/mysql ---[·  mkdir data ---[· bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ❌  bin/mysqld: error while loading shared libraries: libnuma.so.1:  ---[· yum -y install numactl ---[· bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data [root@VM_0_4_centos mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 2019-12-05T09:11:42.077017Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release. 2019-12-05T09:11:42.077121Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.18) initializing of server in progress as process 31048 2019-12-05T09:11:47.785216Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 47<:0>C

⭐️ 会生成默认的密码:root@localhost: 47<:0>C[只将data文件暴露给mysql用户][root@VM_0_4_centos mysql]# chown -R root:root ./ [root@VM_0_4_centos mysql]# chown -R mysql:mysql data [root@VM_0_4_centos mysql]# ll total 552 drwxr-xr-x  2 root  root    4096 Sep 20 20:57 bin drwxr-xr-x  6 mysql mysql   4096 Dec  5 17:11 data drwxr-xr-x  2 root  root    4096 Sep 20 20:57 docs drwxr-xr-x  3 root  root    4096 Sep 20 20:57 include drwxr-xr-x  7 root  root    4096 Sep 20 20:57 lib -rw-r--r--  1 root  root  408918 Sep 20 16:30 LICENSE //略...

2.mysql配置文件相关配置mysql[root@VM_0_4_centos mysql]# cd support-files/ [root@VM_0_4_centos support-files]# ls mysqld_multi.server  mysql-log-rotate  mysql.server [root@VM_0_4_centos support-files]# touch my-default.cnf [root@VM_0_4_centos support-files]# chmod 777 ./my-default.cnf [root@VM_0_4_centos support-files]# cd ../ [root@VM_0_4_centos mysql]# cp support-files/my-default.cnf /etc/my.cnf按需修改配置文件vim /etc/my.cnf[client] port=3306 #.sock文件路径 socket = /tmp/mysql/mysql.sock default-character-set=utf8 [mysqld] #mysql最大连接数 max_connections=2000   datadir=/wocloud/mysql/data basedir = /usr/local/mysql datadir = /usr/local/mysql/data socket = /tmp/mysql/mysql.sock log-error = /usr/local/mysql/data/error.log pid-file = /usr/local/mysql/data/mysql.pid   #密码有效期,0表示永久有效 default_password_lifetime=0   #提高source导入数据速度 innodb_flush_log_at_trx_commit=0 max_allowed_packet=100M user=mysql #临时文件存放路径 tmpdir=/tmp/mysql   #默认配置 symbolic-links=0 character-set-server=utf8 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES    [mysql] no-auto-rehash default-character-set=utf8   [mysqld_safe] default-character-set = utf8   [mysql.server] default-character-set = utf8开机自起[root@VM_0_4_centos mysql]# cd support-files/ [root@VM_0_4_centos support-files]# cp mysql.server /etc/init.d/mysql  [root@VM_0_4_centos support-files]# chmod +x /etc/init.d/mysql [root@VM_0_4_centos support-files]# chkconfig mysql on开启/关闭服务service mysql start  service mysql stop添加环境变量

vim ~/.bash_profile:#MYSQL ENVIRONMENT export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/libsource ~/.bash_profile,通过$PATH命令可以查看是否按照成功。[番外]-也许你比较好奇为嘛在etc里写my.cnf配置

可以查看一下mysql默认可生效的my.cnf位置:[root@VM_0_4_centos mysql]# mysql --verbose --help | grep my.cnf                       order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf  复制代码

3. 登录mysql和修改密码使用上面随机的密码进行登录,然后再修改密码。[root@VM_0_4_centos mysql]# mysql -u root -p Enter password:  Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.18 Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'ooxxooxxooxx';# 修改密码 mysql> SHOW DATABASES; +--------------------+ | Database           | +--------------------+ | information_schema | | mysql              | | performance_schema | | sys                | +--------------------+ 4 rows in set (0.00 sec) Grant all privileges on *.* to 'root'@'%' identified by 'toly1994' with grant option; GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'toly1994' WITH GRANT OPTION; GRANT ALL ON *.* TO 'root'@'%';MySQL大军已集结完毕,随时准备进击...

第五章:斩魔双剑-NodeJS + Python

1.node 环境cd /usr/local wget https://npm.taobao.org/mirrors/node/v12.13.1/node-v12.13.1-linux-x64.tar.xz tar -xvf node-v12.13.1-linux-x64.tar.xz mv node-v12.13.1-linux-x64 nodejs ln -s /usr/local/nodejs/bin/node /usr/sbin/node ln -s /usr/local/nodejs/bin/npm /usr/sbin/npm ---[·  node -v v12.13.1 ---[·  npm -v 6.12.1 复制代码node 已填充完毕,前端大军准备进击...

2.Python环境自带Python 2.7.5,再装个python3吧,

编译pip3时需要一些东西,先装一下,否则编译无法生成pip3:yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel---[·  python -V Python 2.7.5 ---[·  cd /usr/local/ wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tar.xz tar -xvf Python-3.7.5.tar.xz #解压 cd Python-3.7.5 ./configure --prefix=/usr/local/python3 # 配置 make && make install   # 编译安装查看是否生成python3和pip3---[·  cd /usr/local/python3/bin ---[·  ls 2to3  2to3-3.7  easy_install-3.7  idle3  idle3.7  pip3  pip3.7  pydoc3  pydoc3.7  python3  python3.7  python3.7-config  python3.7m  python3.7m-config  python3-config  pyvenv  pyvenv-3.7建立软连接ln -s /usr/local/python3/bin/python3 /usr/sbin/python3 ln -s /usr/local/python3/bin/pip3 /usr/sbin/pip3 ---[·  python3 -V Python 3.8.0 ---[·  pip3 -V pip 19.2.3 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)python 已集结完毕,随时准备进击...

附录:操作系统如果你一不小心选了个低版本,或者想要将Windows版的服务器换成Linux,只需要十秒

尾声声明一点,我可不是在为腾讯云做广告,只是恰好在用。你用任何虚拟服务器都可以

甚至用电脑上的Linux虚拟机也可以模拟玩玩,通过局域网间可访问

如果有公网的ip,完全可以将自己的电脑搞成个高性能服务器....现在我宣布:Light计划 正式开启--2019.12.05 。

光环JAVA_【- Light 计划 -】新建了一台Linux云服务器我该干嘛相关推荐

  1. 自家主机建云服务器_如何创建一台Linux云主机?

    之前的文章我们介绍了Linux操作系统的各种优势,今天就具体来介绍下如何在新睿云上创建一台Linux云主机,希望能对您有所帮助. 1.准备与选型 注册新睿云账号 新用户需在新睿云官网使用邮箱或手机号进 ...

  2. 学生速看!免费领取一台阿里云服务器申请全流程

    阿里云学生服务器优惠活动:高效计划,可以免费领取一台阿里云服务器,如果你是一名高校学生,想搭建一个linux学习环境.git代码托管服务器,或者创建个人博客网站记录自己的学习成长历程,拥有一台云服务器 ...

  3. 一台弹性云服务器可以挂载多块磁盘吗?

    一台弹性云服务器可以挂载多块磁盘吗? 更新时间: 2020/06/28 GMT+08:00 查看PDF 分享 可以.平台近期对磁盘功能进行了升级,对于系统升级后创建的弹性云服务器,系统最多支持挂载60 ...

  4. 学生成长计划领取资格考试 - 云计算及云服务器入门阿里云

    学生成长计划领取资格考试 - 云计算及云服务器入门|阿里云 1.计算机诞生于( D)年代 A. 2000年代 B. 1980年代 C. 1990年代 D. 1960年代 2.阿里云云服务器ECS的英文 ...

  5. DNF台版云服务器搭建(非商用,可联机)

    DNF台版云服务器搭建 该教程结合网上大佬的教程和自己搭建过程中遇到的问题所写 文章中出现的文件都将通过百度网盘分享,各个版本的pvf及其配套客户端需要自己寻找哦 百度网盘链接:链接:https:// ...

  6. 租用一台国内云服务器一年要多少钱?

    现如今,租用一台国内云服务器的价格,受很多方面因素的应用,如云服务器配置.机房线路.防御能力及租用时间等.一般来说,云服务器的配置.防御能力,是与租用价格成正比的.那么,租用一台国内云服务器一年要多少 ...

  7. 新建的亚马逊云服务器EC2 ping 不通 解决方案

    新建的亚马逊云服务器EC2 ping 不通 解决方案 参考文章: (1)新建的亚马逊云服务器EC2 ping 不通 解决方案 (2)https://www.cnblogs.com/ZhangSheng ...

  8. mongodb 从一台服务器拷贝到另一台服务器_拥有一台HECS云服务器,是怎样一种体验...

    今年的华为云"11.11上云嘉年华"活动正在如火如荼地进行,88元起售的HECS云服务器作为本次活动的爆款商品,无疑博得了很多人的关注.这样一款云服务器,究竟有什么本领,今天就让我 ...

  9. 了解linux服务器,教你快速了解一台Linux系统服务器的方法

    对于生物信息工作者而言,Linux系统服务器最熟悉不过,那么如何通过简单的命令对Linux服务器进行最快的了解. [存储空间]df -h df命令作用是列出文件系统的整体磁盘空间使用情况.可以用来查看 ...

  10. 程序员到底有没有必要买一台阿里云服务器?

    做为一名程序猿多多少少每天都在跟服务器打交道,尤其是后端的小伙伴,那么你是否也有这样的想法呢 ? 一.个人服务器究竟能做什么? 1. 搭建个人博客 软件开发这个行业,知识技术日新月异,作为一名合格专注 ...

最新文章

  1. android 分组柱状图_整理了一个 android 上的波形图及柱状图绘制控件
  2. Unicode、UTF-8 和 ISO8859-1到底有什么区别(转载)
  3. 在linux设置回收站 - 防止失误操作造成数据清空,并定期清理
  4. Numpy的切片操作
  5. python取出字典中最大值_python找出字典中value最大值的几种方法
  6. js中if表达式判断规则
  7. 背景素材|令人惊讶水彩背景,新尝试
  8. golang sqlx scan 到结构体中_Golang语言并发编程之定时器
  9. 常用的开源中文分词工具
  10. 【MS SQL】通过执行计划来分析SQL性能
  11. 根据MAC地址查询网卡厂商
  12. 简单、快捷、低成本的超写实虚拟人平台来了……
  13. 获取Bootcamp 6 下载地址(mac装win10)
  14. Vue富文本编辑器使用教程
  15. idea中svn颜色代表的文件状态
  16. 八爪鱼抓取html,网页数据爬取方法详解 - 八爪鱼采集器
  17. js 跨浏览器tab页通信
  18. 人类已经无法阻止苹果了——吐槽PC厂商
  19. 在线的图片颗粒化效果实现
  20. 图像文件的读写和转换——BMP转YUV

热门文章

  1. ActiveMQ not running
  2. 比较好的运动耳机,好用的运动耳机推荐
  3. Mariadb 设置远程访问
  4. 互联网是如何工作的?
  5. 如何将手机中的Word文档转换成PDF文件?
  6. PS将一张图片裁剪/划分为多块
  7. windows上qt5.9下载安装教程
  8. 打外星人的回合制JAVA游戏_25款最佳太空游戏盘点 带玩家到太空殖民打外星人...
  9. UWB技术的工作原理
  10. Variation_Model 差异模板算子总结