centos 安装好发现ifconfig 和netstat都是用不了
安装 ifconfig 和netstat
yum install net-tools
centos 7 安装好发现不能上网。
进入目录
/etc/sysconfig/network-scripts/
找到一个文件 (网络配置)
ifcfg-enoxxxxx
ONBOOT="yes" #开机启用本配置
其中ONBOOT=no 修改为ONBOOT=yes
重启网卡,就可正常上网
service network restart
设置静态ip
vim /etc/sysconfig/network-scripts/ifcfg-enoxxxxx
BOOTPROTO="static" #dhcp改为static
IPADDR=192.168.1.222 #静态IP
GATEWAY=192.168.1.1 #默认网关
NETMASK=255.255.255.0 #子网掩码
DNS1=8.8.8.8 #DNS 配置
重启网卡,就可正常上网
service network restart
安装ssh服务
yum install openssh-server
启动ssh服务
service sshd restart
查看是否启动
netstat -antp | grep sshd
设置开机启动 ssh
chkconfig sshd on
设置 root远程登录
找到如下设置,no 改为 yes ,如果没有直接添加 PermitRootLogin yes
PermitRootLogin no
重启sshd service sshd restart .
centos 防火墙设置
systemctl start firewalld.service#启动firewall systemctl stop firewalld.service#停止firewall systemctl disable firewalld.service#禁止firewall开机启动
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
安装mysql-server
yum install mysql-server
安装成功
mysql -u root 登录时有可能报这样的错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
我使用的root账户,所以改成root
mysql 设置 utf-8编码sudo chown -R root /var/lib/mysql重启service mysqld restart远程访问用root用户登陆,然后:
grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";
flush privileges; * 刷新刚才的内容*
格式:grant 权限 on 数据库教程名.表名 to 用户@登录主机 identified by "用户密码";
@ 后面是访问mysql的客户端ip地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为
本地访问(那此用户就不能远程访问该mysql数据库了)。
同时也可以为现有的用户设置是否具有远程访问权限。如下:
use mysql;
update db set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限)
flush privileges;
grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
* hard nofile 655350
* hard nproc 655350
* soft nproc 655350
LimitNOFILE=65535
最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节):
1、在[client]字段里加入default-character-set=utf8,如下:
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
2、在[mysqld]字段里加入下面红色三句,如下:
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
3、在[mysql]字段里加入default-character-set=utf8,如下:
[mysql]
no-auto-rehash
default-character-set=utf8
修改完成后,service mysql restart重启mysql服务就生效。注意:在较新版的mysq中,[mysqld]字段与[mysql]字段是有区别的。
使用SHOW VARIABLES LIKE 'character%';查看,发现数据库编码全已改成utf8。
4 、如果上面的都修改了还乱码,那剩下问题就一定在 connection 连接层上。解决方法是在发送查询前执行一下下面这句(直接写在 SQL 文件的最前面):
SET NAMES 'utf8';
5、使用show create database 数据库名; 查看指定数据库的编码方式,如下:
修改指定数据库的编码:
mysql>user mydb;
mysql>alter database mydb character set utf8;
使用show create table 表名; 查看表的编码格式。如下:
设置默认编码为utf8:
set names utf8;
设置数据库db_name默认为utf8:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
设置表tb_name默认编码为utf8:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
还有使用mysql命令行设置mysql> SET character_set_connection = utf8 ;
mysql> SET character_set_database = utf8 ;
mysql> SET character_set_results = utf8 ;
mysql> SET character_set_server = utf8 ;
mysql> SET collation_connection = utf8 ;
mysql> SET collation_database = utf8 ;
mysql> SET collation_server = utf8 ;
设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,存入数据库的仍然是乱码。那connection连接层上可能出了问题。解决方法是在发送查询前执行一下下面这句: SET NAMES 'utf8';它相当于下面的三句指令:
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
下载对应当前系统版本的nginx包(package)
# wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
建立nginx的yum仓库
# rpm-ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
下载并安装nginx
# yum install nginx
配置
默认的配置文件在 /etc/nginx 路径下,也可使用 whereis nginx ,查看nginx的目录
修改其下的 nginx.conf 等文件即可
修改一下配置
events {
use epoll;
worker_connections 51200;
}
在http 节点下添加如下 weight表示权重,可根据机器性能分配
upstream tomcateven {
server 192.168.169.214:8080 weight=1;
server 192.168.169.214:9090 weight=1;
}
Server 接口参考下面配置
server {
listen 80; #开放给前端访问的端口
server_name localhost80; //服务名称
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://tomcateven; //代理的地址 upstream 节点。注意开头需要 http://
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#error_page 404 /404.html;
# redirect server error pages to the staticpage /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
在进行Nginx+Tomcat 负载均衡的时候遇到了这个权限问题,在error.log日志中,我们可以看到如下:
connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting to upstream,
经过一番检查以及google,应该是SeLinux的导致的。可以选择一些两种方式进行:
1、关闭SeLinux,可以查看以下文章:
2、执行下面的命令
setsebool -P httpd_can_network_connect 1