Centos7 [检查/安装] [Nginx/MySQL]

 

一、Centos7 安装 nginx

1、Centos7   [检查/安装]   nginx依赖

1、检查是否安装了nginx依赖:pcre

pcre-config --version

若没有,则安装

是否有nginx文件夹,若无则新建nginx文件夹,在文件夹进行安装

mkdir nginx && cd nginx
wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
tar -xzpvf pcre-8.37.tar.gz
cd pcre-8.37
./configure
make && make install
pcre-config --version

2、检查是否安装 openssl 、zlib 、 gcc 依赖

安装方法见

CMake导入第三方库 及 新Centos7环境配置 2022.7.1记_凉巷少年与狸猫的博客-CSDN博客1、CMake导入第三方库的静态库和动态库2、ubuntun、centos出现bind: permission denied的解决办法3、cmake出现undefined reference to `pthread_mutexattr_init'问题的解决办法 4、程序运行时添加外部库的方法5、Centos7安装升级Openssl、CMake、Make、gcc/g++、python3.6.9、Virtualenv 6、Linux添加环境变量7、CMake、C\C++框架学习资源推荐...https://blog.csdn.net/weixin_52997261/article/details/125530242

 

2、Centos7   [检查/安装]   nginx

是否有nginx文件夹,若无则新建nginx文件夹,在文件夹进行安装

1、下载解压

wget http://nginx.org/download/nginx-1.22.0.tar.gz
tar -zxvf nginx-1.22.0.tar.gz

2、配置

cd  nginx-1.22.0
./configure

3、编译

make && make install

4、启动nginx

cd /usr/local/nginx/sbin
 ./nginx

5、查看nginx是否启动

ps -ef | grep nginx

1af2658f2f654c728f99e4cc4d3be5f5.png

 

6、查找nginx占用端口

netstat -anp|grep [id]

fc3c488808c64af992029293e776f1f4.png

 

7、可以访问,若不能,应该是防火墙端口没开,见下文

 

3、Linux中如何打开80端口

firewall-cmd --reload

1、查看防火墙状态

systemctl status firewalld

2、开启防火墙

systemctl start firewalld

3、查看开放的端口

firewall-cmd --list-ports

4、打开需要的端口

firewall-cmd --zone=public --add-port=80/tcp  --permanent
#
这里的permanent配置是永久生效的意思,不配的话重启后该配置就失效

5、重启防火墙

firewall-cmd --reload

6、设置开机启动

systemctl enable firewalld

4、Nginx端口转发配置

1、关闭Nginx

cd /usr/local/nginx/sbin
./nginx -s stop

2、修改nginx.conf文件

cd /usr/local/nginx/conf

将nginx.conf文件保存为nginx.conf.bak,留作备份。

新建文件nginx.conf。然后把刚刚保存文件的里面的内容Copy过来

在里面某个地方添加如下代码

 server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
		
# 下面这里是添加的代码
        location /api {
            proxy_pass http://127.0.0.1:8080;
           
        }
# 意思是只有当访问http://ip/api/........的url时,
#将此url转发给http://127.0.0.1:8080,
#也就是说,相当于我们访问了http://127.0.0.1:8080/api/........
server {
        listen 80;
        server_name api.inlinkhk.com;
        location /api {
            proxy_pass http://127.0.0.1:8080;
           
        }
#访问inlinkhk.com,走第一个server
#访问inlinkhk.com,走第二个server

注意:Linux防火墙只需要打开80端口即可,即nginx  web服务的端口

http://ip:80/api/........和http://ip/api/.......是等价的,故不写80了

我们做了端口转发

Linux防火墙不用再打开8080端口了

 

5、Centos7   [检查/安装]   MySQL

yum install mysql80-community-release-el7-6.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"

yum install mysql-community-server --nogpgcheck

安装MySQL开发包
yum install mysql-devel
如果遇到错误:Couldn’t open file /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
需要运行下面的命令
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
注意,腾讯云并没有安装开发包

#开启3306端口
firewall-cmd --list-ports
firewall-cmd --zone=public --add-port=3306/tcp  --permanent
firewall-cmd --reload
firewall-cmd --list-ports

腾讯云只开启了内部3306端口,外部没有开启,若开启请在腾讯云控制台配置
而且没有开启以下远程访问

#开启远程访问
1、登陆mysql

mysql -u root -p

2、修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.2.135,这表示只允许局域网的192.168.2.135这个ip远程访问mysql。

mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
mysql> flush privileges;



#启动服务
systemctl start mysqld
service mysqld status

#修改MySQL密码
grep "password" /var/log/mysqld.log
mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

service mysqld stop
service mysqld status
systemctl start mysqld

 

 

 

6、 [附录]     其他命令 [仅供参考,提供思路]

一、下面是red hat/CentOs7关闭防火墙的命令!
1:查看防火状态

systemctl status firewalld

service iptables status

2:暂时关闭防火墙

systemctl stop firewalld

service iptables stop

3:永久关闭防火墙

systemctl disable firewalld

chkconfig iptables off

4:重启防火墙

systemctl enable firewalld

service iptables restart

5:永久关闭后重启

//暂时还没有试过

chkconfig iptables on

二、firewalld
Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。

1.启动防火墙

systemctl start firewalld
2.禁用防火墙

systemctl stop firewalld
3.设置开机启动

systemctl enable firewalld
4.停止并禁用开机启动

sytemctl disable firewalld
5.重启防火墙

firewall-cmd --reload
6.查看状态

systemctl status firewalld或者 firewall-cmd --state
7.查看版本

firewall-cmd --version
8.查看帮助

firewall-cmd --help
9.查看区域信息

firewall-cmd --get-active-zones
10.查看指定接口所属区域信息

firewall-cmd --get-zone-of-interface=eth0
11.拒绝所有包

firewall-cmd --panic-on
12.取消拒绝状态

firewall-cmd --panic-off
13.查看是否拒绝

firewall-cmd --query-panic
14.将接口添加到区域(默认接口都在public)

firewall-cmd --zone=public --add-interface=eth0(永久生效再加上 --permanent 然后reload防火墙)
15.设置默认接口区域

firewall-cmd --set-default-zone=public(立即生效,无需重启)
16.更新防火墙规则

firewall-cmd --reload或firewall-cmd --complete-reload(两者的区别就是第一个无需断开连接,就是firewalld特性之一动态
添加规则,第二个需要断开连接,类似重启服务)
17.查看指定区域所有打开的端口

firewall-cmd --zone=public --list-ports
18.在指定区域打开端口(记得重启防火墙)

firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)

firewall-cmd --zone=public --add-port=80/tcp --permanent

注:开启后需要重启防火墙才生效

【重启命令】: firewall-cmd --reload

其他常用命令:

firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
firewall-cmd --remove-port=80/tcp --permanent ##永久移除80端口
firewall-cmd --zone=public --list-ports ##查看已开放的端口

iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd

1、开放端口

firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口

firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口

firewall-cmd --reload # 配置立即生效

2、查看防火墙所有开放的端口

firewall-cmd --zone=public --list-ports

3.、关闭防火墙

如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估

systemctl stop firewalld.service

4、查看防火墙状态

firewall-cmd --state

5、查看监听的端口

netstat -lnpt

PS:centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools

6、检查端口被哪个进程占用

netstat -lnpt |grep 5672

7、查看进程的详细信息

ps 6832

​​​​​​​

8、中止进程

kill -9 6832

说明:
–zone 作用域
–add-port=8080/tcp 添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值