问题一、Centos7,放开防火墙端口访问8000,浏览器访问时仍然找不到网址
问题一、Centos7,放开防火墙端口访问8000,浏览器访问时仍然找不到网址
在防火墙启动的状态下开放端口
firewall-cmd --zone=public --add-port=8000/tcp --permanent
然后刷新防火墙
systemctl reload firewalld
systemctl restart firewalld
(ll_env) [root@localhost learning_log]# python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
/var/lib/jenkins/workspace/GitBlit_pull/other/Django/learning_log/applist/AutoCode/config/Config.ini
System check identified no issues (0 silenced).
March 02, 2023 - 06:40:59
Django version 3.2.13, using settings 'learning_log.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
【原因在于服务启动访问的IP是127.0.0.1只能是内网访问。。。】
解决:【临时访问方法】
启动时加上 请求地址及端口号
python manage.py runserver 0.0.0.0:8000
外网访问后,提示400错误【恭喜外网可以访问了】
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
Invalid HTTP_HOST header: '192.168.24.228:8000'. You may need to add '192.168.24.228' to ALLOWED_HOSTS.
Bad Request: /
[02/Mar/2023 08:15:45] "GET / HTTP/1.1" 400 72625
Invalid HTTP_HOST header: '192.168.24.228:8000'. You may need to add '192.168.24.228' to ALLOWED_HOSTS.
Bad Request: /favicon.ico
[02/Mar/2023 08:15:45] "GET /favicon.ico HTTP/1.1" 400 72546
通过修改 Django 项目中的 manage.py 文件来设置端口号和 IP 地址。
# manage.py 文件中的 main 方法
if __name__ == "__main__":
from django.core.management.commands.runserver import Command as Runserver
Runserver.default_addr = '0.0.0.0' # 修改默认地址
Runserver.default_port = '8000' # 修改默认端口
main()
重启服务,serverIP变成0.0.0.0:8000,现在可以试试外网访问了
(ll_env) [root@localhost learning_log]# python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
/var/lib/jenkins/workspace/GitBlit_pull/other/Django/learning_log/applist/AutoCode/config/Config.ini
System check identified no issues (0 silenced).
March 02, 2023 - 09:19:56
Django version 3.2.13, using settings 'learning_log.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
[02/Mar/2023 09:20:02] "GET / HTTP/1.1" 200 8625
问题二:能访问了为什么又报400了???,是因为settins.py[ALLOWED_HOSTS]没匹配
(ll_env) [root@localhost learning_log]# python manage.py runserver 0.0.0.0:8000
Traceback (most recent call last):
File "manage.py", line 22, in <module>
main()
File "manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/var/lib/jenkins/workspace/GitBlit_pull/other/Django/ll_env/lib/python3.7/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/var/lib/jenkins/workspace/GitBlit_pull/other/Django/ll_env/lib/python3.7/site-packages/django/core/management/__init__.py", line 363, in execute
settings.INSTALLED_APPS
File "/var/lib/jenkins/workspace/GitBlit_pull/other/Django/ll_env/lib/python3.7/site-packages/django/conf/__init__.py", line 82, in __getattr__
self._setup(name)
File "/var/lib/jenkins/workspace/GitBlit_pull/other/Django/ll_env/lib/python3.7/site-packages/django/conf/__init__.py", line 69, in _setup
self._wrapped = Settings(settings_module)
File "/var/lib/jenkins/workspace/GitBlit_pull/other/Django/ll_env/lib/python3.7/site-packages/django/conf/__init__.py", line 170, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/local/python3/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 724, in exec_module
File "<frozen importlib._bootstrap_external>", line 860, in get_code
File "<frozen importlib._bootstrap_external>", line 791, in source_to_code
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/var/lib/jenkins/workspace/GitBlit_pull/other/Django/learning_log/learning_log/settings.py", line 28
ALLOWED_HOSTS = [*]
解决:settings.py【ALLOWED_HOSTS 添加的是IP#】
ALLOWED_HOSTS = [
'192.168.24.228', '127.0.0.1'
]
192.168.24.228 指定访问IP
问题三:本地部署一个Centos7,但无法访问远程服务器的数据库服务【请求IP】
Centos7为虚拟服务器–部署在本机【应用服务需要请求远程服务器】
本地win10 和 centos7 同样请求远程服务器IP,一个Ping成功,一个Ping失败
win10
Centos7
解决:
firewall-cmd --zone=public --add-port=33060/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
然后重启防火墙
systemctl reload firewalld
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
配置网关和DNS,与本地配置的保持一致
重点:重启network ---
service network restart
配置好DNS后,又出现情况。。。。
HTTPConnectionPool(host='url', port=port): Max retries exceeded with url: /path (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f188bac7898>: Failed to establish a new connection: [Errno -2] Name or service not known',))
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="b6408bbf-3dc6-44fd-8446-a92690c7774c"
DEVICE="enp0s3"
ONBOOT="yes"
IPADDR=192.168.24.228
NETMASK=255.255.255.0
GATEWAY=192.168.24.1
DNS1=202.96.134.133
DNS2=223.5.5.5
最终问题解决就是把DNS完整的加上!!!
其它问题:
windows 与 linux 路径符报错,等等都可以百度一下解决
Centos整合测试服务资源,像Locust、Django都是需要手工切换到指定目录,再执行命令启动的,但出现服务器挂掉重启,又要SSH连接手工启动,着实比较麻烦的事情:
/usr/local/jenkins/satrt_server.sh
【#!/bin/bash】是sh文件标准格式
【nohup 为后台不挂断运行命令--- 2>&1 & 这个参数必带项,没有就不是后台运行了】
内容如下:
#!/bin/bash
cd /var/lib/jenkins/workspace/GitBlit_pull/other/WB_Locust/my_locustfiles
nohup locust >/usr/local/jenkins/locust.out 2>&1 &
cd /var/lib/jenkins/workspace/GitBlit_pull/other/Django
source ll_env/bin/activate
cd learning_log
nohup python manage.py runserver >/usr/local/jenkins/djo.out 2>&1 &
[root@localhost ~]# cd ~
[root@localhost ~]# vim .bashrc
# 增加刚才新建的SH文件路径
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
/usr/local/jenkins/satrt_server.sh
[root@localhost ~]# source .bashrc
Centos 先安装 lsof
[root@localhost ~]# lsof -i tcp:端口号
[root@localhost ~]# lsof -i tcp:8000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python 1592 root 5u IPv4 19438 0t0 TCP *:irdmi (LISTEN)
[root@localhost ~]# lsof -i tcp:8089
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
locust 1587 root 6u IPv6 19573 0t0 TCP *:8089 (LISTEN)
注意PID
[root@localhost ~]# kill -9 1592
[root@localhost ~]# kill -9 1587
这样就可以了
原文地址:https://blog.csdn.net/vikesgao/article/details/129304375
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_11307.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!