乘着打折福利,在网上购买了阿里云的服务器,参考知乎上的回答,结合自己的情况,最终选择共享型xn4/n4型,
,其中系统选择的是ubuntn18.04,然后接下来就是自己的一些配置记录了:
(1)切换Python默认版本
一般新安装的ubuntn系统需要安装更新软件源 sudo apt-get update。由于ubuntn系统会自动配置Python2(默认)和Python3两种,再开始时我们需要对其进行默认版本切换,这里推荐一种简单的方式:
- 首先列出所有可用的python替代版本信息:
update-alternatives --list python
update-alternatives: 错误: 无 python 的候选项 。如果出现以上所示的错误信息,表示update-alternatives没有添加Python的替代版本。
- 将Python的替代版本添加进去:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2
有几个版本的Python就添加几条,后面的尾数越大,优先级越高。此时可以通过
python --version来查看默认版本。
update-alternatives --list python 查看可用的Python替代版本
update-alternatives --config python 可以手动来切换默认版本
sudo update-alternatives --remove python /usr/bin/python2.7 删除不需要的Python版本
当我们完成Python版本的切换时,会发现pip出现了No module error,这时候我们需要修改/usr/bin/pip文件,将第一行原来是 /usr/bin/python 修改为 /usr/bin/python2.7 或者 /usr/bin/python3.6
另外,将pip更新为10.0.0之后的版本时,还需要修改/usr/bin/pip和/usr/bin/pip3文件:from pip import main修改为 from pip._internal import main,若还是出现该问题可以直接sudo apt-get install python3-pip试试。
最近又发现一种新的方法,那就是直接设置软连接,来实现python和pip的优先设置(该方法可以适用于所有兼容python2或者python3的环境)
sudo ln -s /usr/bin/python3 /usr/bin/python ##如果没有python环境可以通过apt-get install python3,python3-dev
sudo ln -s /usr/bin/pip3 /usr/bin/pip ###如果环境中没有pip,可以apt-get install python3-pip或者python-pip安装即可
(2)安装anaconda
为了简单实现Python包的管理,这里推荐安装anaconda。由于直接官网下载比较慢,可以采用国内的镜像来实现
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.07-Linux-x86_64.sh
下载完成直接
bash Anaconda3-2019.07-Linux-x86_64.sh
然后就是一些细节介绍,直接回车或者选择yes来完成安装,最后重启终端即可完成所有。
>想要取消安装 aconda 后ubuntu系统终端界面前部出现(base)字样
1.打开一个终端 ,输入命令:gedit ~/.bashrc
2.在 .bashrc文件最后面添加命令:conda deactivate
或者在安装时取消每次启动都会初始化,然后自己再手动添加anaconda到环境变量中去,即
export PATH=~/anaconda3/bin:$PATH
#conda deactivate
>jupyter远程访问配置
- 生成配置文件(jupyter notebook --generate-config)
- 生成密钥
jupyter notebook password # 两次输入同一密码为后面登录的密码
vim ~/.jupyter/jupyter_notebook_config.json #获得密钥
- 编辑配置文件
vim ~/.jupyter/jupyter_notebook_config.py
打开配置文件后,如下图修改以下几类,其中开启端口可参考这篇文章,
c.NotebookApp.ip='*'
c.NotebookApp.password = u'把上面的文本粘贴到这里'
c.NotebookApp.open_browser = False
c.NotebookApp.port =1234 ##端口需要提前在服务器控制台打开,端口号任意
具体的如图所示:
最后你在终端输入jupyter notebook --allow-root即可,然后再在自己的电脑浏览器中输入http://服务器公开ip:1234(端口号),接着输入刚才设置的密码就行了。
(3)配置ssh
当是自己配置的机器时,使用Xshell等工具进行远程连接,但是会出现无法连接的问题,原因是Ubuntu中默认关闭了SSH 服务(但租的云服务器一般会打开了),进入Ubuntu 查看22 端口的情况,发现22端口并未开启
命令:netstat -ntlp|grep 22
接下来在终端输入以下指令,开启22端口
sudo apt-get install openssh-server
sudo apt-get install ufw
sudo ufw enable
sudo ufw allow 22
再次尝试进行XShell连接,发现连接成功,这里使用的是普通用户进行连接,若要使用root用户进行连接,则需要修改SSH配置信息,具体方法参考上篇文章中关于SSH的配置
如果root登录不行,可以自行设置/etc/ssh/ssh_config
sudo vim /etc/ssh/sshd_config
找到passwordAuthentication项,修改成yes
重启ssh服务:sudo service sshd restart
密码设置:sudo passwd user-name
以上,重新登陆即可
(4)账户与权限分配
按照官方文档,可以通过指示一步步完成,这里就只记录一下ubuntn系统怎么添加用户和修改权限($是普通管员,#是系统管理员)。
如果刚开始时未添加root,则通过下面命令完成,输入两次相同密码即可。
sudo passwd -u root
adduser username ###username为你添加的名字
sudo userdel username ##删除username
su username ##切换带username
chown -R <用户名>:<密码> /home/<用户名>
chmod 760 /home/<用户名>
sudo vim /etc/sudoers ###查看sudo权限的用户
sudo vim /etc/passwd ###查看所有用户信息
(5)docker、GIT
docker是代码运行环境配置的利器,Git是版本控制的有利帮手,两者都是开发者喜爱的开发助手。对于git的可以参考我的另一篇博客《git入门使用》,docker可以参考《docker学习》,这里补充一下docker的安装,根据官网和这篇博客《ubuntu18安装docker》一步步进行,不过在选择版本的时候根据当前的配置和自己的使用情况进行选择。
(6)宝塔面板与wordpress
想要利用服务器来构建网站,可以通过宝塔面板来实现服务器管理,而借助WordPress来实现网页的构建。可以参考宝塔面板搭建网站教程 - v1tx这篇博文。
(7)gcc/g++
Ubuntu18.04自带gcc7版本,但编译比较老的项目编译不过,需要将gcc版本降级到4.8版本,于是萌发了让系统存在两个gcc版本,平时根据需要指定使用即可,下面就是操作纪要
#查看存在的版本
ls /etc/bin/gcc*
ls /etc/bin/g++*
##安装低版本
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
##设置优先级,切换默认版本
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
sudo update-alternatives --install /usr/bin/g++ gcc /usr/bin/g++-4.8 100
##查看结果
sudo update-alternatives --config gcc
(8)域名解析
不想直接让公ip暴露在外,于是需要绑定一个域名,通过绑定,解析域名即可访问。至于域名,有很多种选择,可以去BAT任意一家平台购买,也可以试试一些免费的二级域名,这里自己在腾讯上趁着做活动注册了一个,接下来你需要注意在哪个平台买的域名就在哪个平台上进行域名解析,详细操作过程可参考阿里云服务器+腾讯域名进行域名解析,最后72小时内审核通过后及如下所示,
接下来,如果你想做一个网站的话,由于购买的是国内大陆这块的服务器,你还需要去工信部备案,不过阿里提供代办,ni只需要提供好材料即可,另外偷偷说一句,阿里会补偿备案期间所花费的时间,这一点还是值得大大点个赞。
(9)端口开放
在日常使用过程中,经常会涉及到各种端口的开放与关闭,具体步骤如下,(如果防火墙打开了,则除了配置安全组外还得打开设置防火墙端口,否则只需要设置安全组配置即可)
第一步:配置安全组
具体可以参考阿里云服务器安全组设置方法(开放端口教程) - 阿里云服务器
第二步:设置防火墙firewall(防火墙配置_xiaomu_347的博客-CSDN博客_防火墙怎么配置)
1.查看开放端口号
firewall-cmd --list-all
2.设置你的需要开启的端口
firewall-cmd --zone=public --add-port=3001/tcp --permanent//设置
firewall-cmd --reload//生效
3.重启服务器(不是必须),然后查看端口是否打开(telnet测试端口开通情况)
需要补充说明的一点就是,如果你用chrome浏览器,需要注意一些端口号是不安全的,可能会造成无法访问的情况
1, // tcpmux
7, // echo
9, // discard
11, // systat
13, // daytime
15, // netstat
17, // qotd
19, // chargen
20, // ftp data
21, // ftp access
22, // ssh
23, // telnet
25, // smtp
37, // time
42, // name
43, // nicname
53, // domain
77, // priv-rjs
79, // finger
87, // ttylink
95, // supdup
101, // hostriame
102, // iso-tsap
103, // gppitnp
104, // acr-nema
109, // pop2
110, // pop3
111, // sunrpc
113, // auth
115, // sftp
117, // uucp-path
119, // nntp
123, // NTP
135, // loc-srv /epmap
139, // netbios
143, // imap2
179, // BGP
389, // ldap
465, // smtp+ssl
512, // print / exec
513, // login
514, // shell
515, // printer
526, // tempo
530, // courier
531, // chat
532, // netnews
540, // uucp
556, // remotefs
563, // nntp+ssl
587, // stmp?
601, // ??
636, // ldap+ssl
993, // ldap+ssl
995, // pop3+ssl
2049, // nfs
3659, // apple-sasl / PasswordServer
4045, // lockd
5500, //有问题
6000, // X11
6665, // Alternate IRC [Apple addition]
6666, // Alternate IRC [Apple addition]
6667, // Standard IRC [Apple addition]
6668, // Alternate IRC [Apple addition]
6669, // Alternate IRC [Apple addition]
不想修改浏览器设置的就改用其它端口吧,搜索了一下,Firefox也有类似的端口限制;如果非要使用类似的端口,
我们要做的是允许访问非常规端口地址,解决办法:选中Google Chrome 快捷方式,右键属性,在”目标”对应文本框添加:
--explicitly-allowed-ports=87,6666,556,6667
允许多个端口以逗号隔开,最终如下:
C:\Users\Huoqing\AppData\Local\Google\Chrome\Application\chrome.exe --explicitly-allowed-ports=6666,556
未完待续!
参考链接: