Centos7+apache+passenger+rails4.1.6部署的服务器实现局域网内部访问


问题

在CentOS上安装apache,配置好服务器本机可以访问,但是外部局域网IP不能访问

解决方法:

1.我的项目配置文件passenger.conf

LoadModule passenger_module /usr/local/rvm/gems/ruby-2.0.0-p598@rails416/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rvm/gems/ruby-2.0.0-p598@rails416/gems/passenger-4.0.53
PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.0.0-p598@rails416/wrappers/ruby
</IfModule>
Listen 192.168.1.106:3005
<VirtualHost *:3005>
RailsEnv development
ErrorLog /etc/httpd/logs/error_log
ServerName 192.168.1.106
DocumentRoot /var/www/html/rails_blog/public
<Directory /var/www/html/rails_blog/public>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>

 

2.添加端口映射,这点是CentOS系统的安全特性,也是其适用于服务器的原因吧。

方法<1>:直接修改防火墙配置文件(/etc/sysconfig/iptables)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3005 -j ACCEPT

方法<2>:命令修改

/sbin/iptables -I INPUT -p tcp --dport 3005 -jACCEPT


重启服务

service iptables restart

检查状态

service iptables status

 

iptables开机自动启动:

开启: chkconfig iptables on 关闭: chkconfig iptables off


iptables关闭服务:

开启: service iptables start 关闭: service iptables stop

相关内容