搭网站遇到的各种坑、经验、教训
Sheng | April 6, 2022, 8:39 p.m. | Views: 484
2月底以来搭建网站,简单记录一下~
以下坑不分先后:
- SSH登录:用cmd登录,第一次成功,但第二次就报错。解决办法好像要修改服务器系统里SSH相关的配置文件,嫌麻烦,就只用Putty了。而用Putty的时候,几分钟不操作就自动断线,还要设置和保存一番。
- FTP服务:安装vsftpd,装好后没法用,一些配置晕头转向,后来发现SFTP也可以用,就放弃FTP了。
- 服务器系统:之前选用CentOS,用了一段时间,yum,dnf,都比较熟悉了,但发现经常报错,甚至好像安装Postgresql还是哪个软件的时候居然库里没有,而且也不是LTS,后面就换成Ubuntu了。在腾讯云,Ubuntu的登录用户为ubuntu,读写文件各种限制。启用root用户还要另费一番功夫。
- 之前测试Django的时候,runserver在关Putty后无法保持,找到screen的办法,还学了基本操作,后来发现完全不需要screen的其实。
- 刚开始对Linux系统不熟悉,安装软件装在哪都一头雾水,新建项目在哪个文件夹也是很茫然。
- 安装Nginx和Apache后,网上的教程普遍提到防火墙的设置,跟着操作发现防火墙根本没开,腾讯云是在后台设置的。
- 安装mod-wsgi的坑特别大。除了要安装一堆必要的配套的工具,libapache2-mod-wsgi如果用apt安装一直不能成功,用libapache2-mod-wsgi-py3安装也不行。卡在a2enconf mod-wsgi(这是个啥都没时间去搞清楚)这里。后来按照官方文档一步一步操作才成功(尽管a2enconf mod-wsgi还是没成功,但日志上显示配置成功了,apache也确定可以用WSGI连接Django项目了)。
- 安装psycopg2的坑也不小。关键在于要在虚拟环境下安装,并且安装psycopg2-binary版本。
- apache的配置文件的坑:自定义的conf文件放在conf-available文件夹里用不了(不少教程说放这里),看有别人说好像要放在sites-available里,没有去确认,因为内容很少,直接放apache2.conf里面了。
- 创建了虚拟环境后,就一直保持虚拟环境里面安装和配置,不要deactivate。
- 要安装apache2-dev和python-dev版本才会有apxs,进而才能安装好mod-wsgi。
- react在build之前要在package.json里加一句"homepage": "."。
先写这么多,后面想到再补充吧……