CentOS7 安装配置笔记
1.通过镜像安装 CentOS7
==============================
* 使用 UltraISO 9.7 或者 rufus-3.5p 制作ISO的启动U盘
运行安装前最好配置 IPv4 地址和 DNS, 注意要启用以太网卡
否则安装后,需要手动启用网卡和配置IP和DNS
/etc/sysconfig/networks-script/ifcfg-xxxx
#修改
BOOTPROTO=static #将dhcp换成ststic
ONBOOT=yes #将no换成yes
#新增
IPADDR=192.168.85.100 #静态IP
GATEWAY=192.168.85.2 #默认网关
NETMASK=255.255.255.0 #子网掩码
/etc/resolv.conf
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
保存退出后,重启(reboot)或者重启网络服务
service network restart
2.安装 wget 下载工具
==============================
* 不是必须的
yum -y install wget
3.修改镜像地址
==============================
* 不是必须的
cd /etc/yum.repos.d/
mv CentOS7-Base.repo CentOS7-Base.repo.buckup
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum makecache
yum -y update
4.安装 nano 文本编辑工具
==============================
yum install nano
5.安装 dotnet core
==============================
//2.0 时代
//添加dotnet产品Feed
//rpm --import https://packages.microsoft.com/keys/microsoft.asc
//yum update
//安装.NET Core所需的组件
//yum install libunwind libicu
■安装 dotnet core SDK
//2.2 官方指导
rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
yum update
yum install dotnet-sdk-2.2
■安装 runtime
//Add the dotnet product feed, 参见 https://dotnet.microsoft.com/download/linux-package-manager/centos/runtime-current
rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
yum update
//如果安装 dotnet-core & aspnet-core(57M)
yum install aspnetcore-runtime-2.2
//如果仅安装 dotnet-core(27M)
yum install dotnet-runtime-2.2
//如果遇到报告 package xxx.rpm is not signed 在安装包时加参数 --nogpgcheck 即可
//安装完毕后可通过 dotnet --info 验证
* dotnet core 跨平台注意规避路径拼接 "/" 和 "\" 字符的问题,尽量使用 IO.Path.Combin()
6.安装vsftpd
==============================
yum -y install vsftpd
//创建新用户总是登录失败,暂时直接用 root 账号登录
修改 /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
pasv_enabld=YES
pasv_min_port=30000
pasv_min_port=30999
allow_writeable_chroot=YES
修改 /etc/vsftpd/ftpusers, 注释掉 root
修改 /etc/vsftpd/user_list, 注释掉 root
//配置下selinux
getsebool -a | grepftp //查看 selinux 配置
setsebool -P ftpd_full_access on
setsebool -P tftp_home_dir on
reboot
systemctl stop firewalld //暂时关闭防火墙
systemctl start vsftpd
//其他命令
systemctl restart vsftpd //重启vsftpd
systemctl enable vsftpd //开机启用ftp
systemctl disable firewalld //开机不启用防火墙
7.设置 firewalld
==============================
放行 TCP 8080, UDP 2020
//启用某个服务/端口
firewall-cmd --zone=public --add-service=https #临时
firewall-cmd --zone=public --add-port=8080-8081/tcp #临时
firewall-cmd --permanent --zone=public --add-service=https #永久
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp #永久
//如果是要删除,直接修改成remove-service或者remove-port
//修改配置文件后 使用命令重新加载
firewall-cmd --reload
//查看开启的端口和服务
firewall-cmd --permanent --zone=public --list-services #服务空格隔开 例如 dhcpv6-client https ss
firewall-cmd --permanent --zone=public --list-ports #端口空格隔开 例如 8080-8081
//在每次修改 端口和服务后 /etc/firewalld/zones/public.xml 文件就会被修改。
防火墙预定义的服务配置文件是xml文件,目录在 /usr/lib/firewalld/services/;
在 /etc/firewalld/services/ 这个目录中也有配置文件,但是 /etc/firewalld/services/ 目录优先于 /usr/lib/firewalld/services/ 目录。
8.为 dotnet 创建守护进程 Supervisor
==============================
//安装 supervisor
yum install epel-release
yum install -y supervisor
systemctl enable supervisord # 开机自启动
systemctl start supervisord # 启动supervisord服务
systemctl status supervisord # 查看supervisord服务状态
ps -ef|grep supervisord # 查看是否存在supervisord进程
//安装完成之后,如果不存在 /etc/supervisord.conf 则初始化配置
echo_supervisord_conf > /etc/supervisord.conf
■ Supervisor UI 管理台
Supervisor 默认给我们提供了一个图形界面来供我们管理进程和任务,在 Linux 中我们需要手动开启一下。打开位于/etc/supervisord.conf文件,去掉 inet_http_server 节点的注释
[inet_http_server]
port=127.0.0.1:9001
然后可通过 http://IP:9001 来查看运行的进程了,记得防火墙放行 tcp 9001
//创建 /etc/supervisor 目录
mkdir /etc/supervisor
在 /etc/supervisor/config.d/ 目录下新建一个配置文件
mkdir /etc/supervisor/config.d/
touch cmscore.conf
//编辑 cmscore.conf
[program:cmscore]
cmmand=dotnet CmsCore.dll
directory=/home/CmsCore/
environment=ASPNETCORE_ENVIRONMENT=Production
autostart=true
autorestart=true
;startsecs=1
stopsignal=INT
user=root
stderr_logfile=/var/log/CmsCore.err.log
;stdout_logfile=/var/log/CmsCore.out.log
//还要修改 /etc/supervisord.conf, 去掉对 include 节点的注释,指定应用的配置路径
[include]
files=/etc/supervisor/config.d/*.conf
//保存退出后,需要重新加载一下配置
supervisorctl reload
9. 安装 MariaDB(兼容MySQL)
==============================
//安装 GPG-Key
rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
//安装 MariaDB
yum -y install MariaDB-server MariaDB-client
//安装成功之后启动MariaDB服务,并设为开机自启, 记得开放 tcp 3306
systemctl start mariadb #启动服务
systemctl enable mariadb #设置开机启动
systemctl restart mariadb #重新启动
systemctl stop mariadb.service #停止MariaDB
//登录数据库,缺省口令为空
mysql -uroot -p
//MariaDB的相关简单配置
mysql_secure_installation
---------------------
//首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):<–初次运行直接回车
//设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
//其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车(后面授权配置)
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
---------------------
//配置MariaDB的字符集
//使用vim /etc/my.cnf.d/server.cnf命令编辑server.cnf文件,在[mysqld]标签下添加:
---------------------
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
---------------------
//配置初始化完成,重启Mariadb。
systemctl restart mariadb
//创建用户命令(用户名,密码请自行修改),先登录 MariaDB
create user username@localhost identified by 'password';
//授予外网登陆权限
grant all privileges on *.* to username@'%' identified by 'password';
flush privileges;