linux作为服务器的优点:
1、稳定性
2、性能
3、易用性
4、网络性能、安全性、可管理性
5、网络兼容性
6、用户和系统管理能力
购买阿里云服务器之后,重置实例密码,之后需要重启服务器,用root+密码进行登陆。(远程登陆密码和实例密码不是一个密码,区分清)
查看系统cpu信息:cat /proc/cpuinfo
发现proc文件夹有很多关于系统配置的文件
用户管理:
用户密码的配置文件有两个:/etc/passwd 和 /etc/shadow。其中初始时除了root还会有很多用户,这些用户不是用来登陆的。
常用命令:useradd passwd userdel
如果删除用户出错,则用 userdel -f username; 然后删除/home下用户文件夹即可。
用户组管理:
目录:/etc/group,用命令groups username可以查看用户属于哪个组
创建用户时如果不指定,默认用户组和用户名称一样。例如useradd hanjc同时会创建hanjc的group。
可以创建一个名为开发者的用户组,groupadd developer。
然后把用户hanjc移动到developer组中,usermod -g developer hanjc。
最后删除hanjc组,groupdel hanjc。
用户组是为了方便管理用户以及用户权限的。
用户授权:
参考:https://baijiahao.baidu.com/s?id=1616750933810368135&wfr=spider&for=pc
授予权限,chmod
改变属主:chown
例如:chgrp -R developer /app; chown -R hanjc /app
给普通用户ssh权限:
1.编辑/etc/ssh/sshd_config文件.
输入命令:"vim /etc/ssh/sshd_config"
添加配置项AllowUsers username1 username2
(也可以添加用户组:AllowGroups group1 group2)
2.不允许root登陆ssh.
PermitRootLogin no
3.重启sshd服务器.
输入命令:"service sshd restart"
4.设置完成,尝试用xshell登陆!
普通用户获取sudo命令权限:
1.chmod u+w /etc/sudoers.
2.vim /etc/sudoers
找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)
:这里说下你可以sudoers添加下面四行中任意一条
youuser ALL=(ALL) ALL
%youuser ALL=(ALL) ALL
youuser ALL=(ALL) NOPASSWD: ALL
%youuser ALL=(ALL) NOPASSWD: ALL
第一行:允许用户youuser执行sudo命令(需要输入密码).
第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).
第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.
3.测试:sudo reboot
安装node:
1.首先切到root,sudo su -
2.下载node安装包linux版本,大部分都是64bit的。https://nodejs.org/zh-cn/download/
3.上传到服务器,并解压。tar -xvf node-v10.16.0-linux-x64.tar.xz;mv node-v10.16.0-linux-x64 nodejs.
4.建立软连接,变为全局。ln -s /app/setup/nodejs/bin/npm /usr/local/bin/;ln -s /app/setup/nodejs/bin/node /usr/local/bin/。(这一步需要root权限)
5.node -v 验证。
安装cnpm:
1.切到root。
2.npm install -g cnpm --registry=https://registry.npm.taobao.org
3.设为全局,ln -s /app/setup/nodejs/bin/cnpm /usr/local/bin/cnpm
安装pm2:
1.切到root。
2.cnpm install -g pm2
3.设为全局,ln -s /app/setup/nodejs/lib/node_modules/pm2/bin/pm2 /usr/local/bin(路径改成自己的pm2路径)
安装pm2-logrotate:
1.pm2 install pm2-logrotate
2.pm2 set pm2-logrotate:max_size 50M
pm2进程开机自启:
1.pm2 save
2.pm2 startup
3.复制粘贴上面产生的命令
安装mysql:(这个是在网上找的方法,在执行的时候要在root用户下执行。发现启动之后mysql是自启动的,很nice)
1.wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2.rpm -ivh mysql-community-release-el7-5.noarch.rpm
3.yum update
4.yum install mysql-server
5.初始化 MySQL:mysqld --initialize
6.启动 MySQL:systemctl start mysqld
7.查看 MySQL 运行状态:systemctl status mysqld
配置mysql:
1.最好不要修改mysql中root的密码,保持原状就好,不然可能会出现很多坑,初始密码应该是空的。
2.进入mysql:mysql -u root
3.创建一个新的数据库,CREATE DATABASE hanjc。
4.添加一个新的user,grant all privileges on hanjc.* to 'hanjc'@'localhost' identified by '123456'。
5.之后可以用hanjc本地登陆mysql:mysql -u hanjc -p,然后输入123456密码
6.允许远程登陆:重新切换至root登陆mysql,grant all privileges on hanjc.* to 'hanjc'@'%' identified by '123456';flush privileges.
7.重启mysql。用本地navcat连接试试成功。
安装redis:
1.获取redis资源,wget http://download.redis.io/releases/redis-4.0.8.tar.gz
2.解压,tar xzvf redis-4.0.8.tar.gz
3.安装,cd redis-4.0.8,make,cd src,make install PREFIX=/usr/local/redis(需要root权限)
4.移动配置文件到安装目录下,cd ../,mkdir /usr/local/redis/etc,mv redis.conf /usr/local/redis/etc
5.配置redis为后台启动,vim /usr/local/redis/etc/redis.conf //将daemonize no 改成daemonize yes
6.开启redis,/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf ,出现端口说明启动成功
redis自启动:
1.设置开机自启,vim /etc/rc.local //在里面添加内容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)
2.reboot重启验证,之后启动和停止redis命令为:/etc/init.d/redis start , /etc/init.d/redis stop
3.修改redis配置文件,vim /usr/local/redis/etc/redis.conf,把bind 127.0.0.1注释上,把protected-mode改为no,就可以外网访问了。
4.需要停止的时候可以:ps -ef | grep redis,kill -9
安装Apache
1.yum install httpd -y
2.rpm -qa httpd
3.service httpd start,service httpd restart
自启动
1.找到apachectl,find / -name apachectl
2.cp /usr/sbin/apachectl /etc/init.d/httpd
3.编辑启动文件:
添加两行支持chkconfig
# chkconfig:345 85 15
# description:Start and stop the Apache HTTP Server
4.chkconfig --add httpd,chkconfig httpd on,如果提示错误,则用systemctl enable httpd.service
安装nginx:
1.yum install gcc-c++,yum install -y pcre pcre-devel,yum install -y zlib zlib-devel,yum install -y openssl openssl-devel
2.下载:wget -c https://nginx.org/download/nginx-1.8.0.tar.gz
3.解压:tar -zxvf nginx-1.8.0.tar.gz
4.编译cd nginx-1.8.0,./configure --with-http_stub_status_module,make,make install
5.启动:cd /usr/local/nginx/sbin,./nginx,./nginx -s reload
6.自启动:vim /etc/rc.local 底部增加/usr/local/nginx/sbin/nginx
例子:
**.conf:
upstream jd_as_general {
server 127.0.0.1:6930 max_fails=3 fail_timeout=30s;
server 127.0.0.1:6930 max_fails=3 fail_timeout=30s;
}
server {
listen 8070 default_server;
server_name _;
access_log /var/log/nginx/jd_as_general.log main;
error_log /var/log/nginx/jd_as_general_error.log;
location / {
proxy_pass http://jd_as_general;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_504 http_404;
proxy_connect_timeout 10s;
proxy_read_timeout 20s;
}
location /status {
stub_status on;
}
}
安装svn:
1.yum install subversion
2.svnserve --version
3.svnadmin create /svndir,cd /svndir/conf,配置3文件
4.启动:svnserve -d -r /svndir
安装docker:
1.安装依赖包:sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.设置阿里云镜像源:sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装 Docker-CE:sudo yum install docker-ce
4.开机自启:sudo systemctl enable docker
5.启动docker服务:sudo systemctl start docker
6.建立 Docker 用户组:sudo groupadd docker;sudo usermod -aG docker $USER
7.镜像加速配置
8.拉取镜像:docker pull centos;docker pull sameersbn/redmine:latest
9.配置GUI:docker volume create portainer_data;docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer