I'm still working on my mailman site https://lists.repec.info. It's now sadder than it was before. To test, I need to restart mailmanweb for testing. I don't quite get how to stop mailmanweb.
root@darni ~ # systemctl stop mailmanweb
But mailman-web processes are still running
root@darni ~ # ps axf | grep mailman-web 532703 pts/4 S+ 0:00 \_ grep mailman-web 516993 ? Ss 0:00 /usr/local/mailman/venv/bin/python3.13 /usr/local/mailman/venv/bin/mailman-web qcluster --pythonpath /etc/mailman3 --settings settings 517012 ? S 0:05 \_ /usr/local/mailman/venv/bin/python3.13 /usr/local/mailman/venv/bin/mailman-web qcluster --pythonpath /etc/mailman3 --settings settings 517014 ? S 0:00 \_ /usr/local/mailman/venv/bin/python3.13 /usr/local/mailman/venv/bin/mailman-web qcluster --pythonpath /etc/mailman3 --settings settings 517015 ? S 0:00 \_ /usr/local/mailman/venv/bin/python3.13 /usr/local/mailman/venv/bin/mailman-web qcluster --pythonpath /etc/mailman3 --settings settings 517016 ? S 0:00 \_ /usr/local/mailman/venv/bin/python3.13 /usr/local/mailman/venv/bin/mailman-web qcluster --pythonpath /etc/mailman3 --settings settings 517017 ? S 2:09 \_ /usr/local/mailman/venv/bin/python3.13 /usr/local/mailman/venv/bin/mailman-web qcluster --pythonpath /etc/mailman3 --settings settings
Here for some background. Here is my service
root@darni /var/log/mailman3 # cat /etc/systemd/system/mailmanweb.service [Unit] Description=GNU Mailman Web UI After=syslog.target network.target postgresql.service mailman3.service
[Service] Environment="PYTHONPATH=/etc/mailman3/" User=mailman Group=mailman ExecStart=/usr/local/mailman/venv/bin/uwsgi --ini /etc/mailman3/uwsgi.ini KillSignal=SIGINT
[Install] WantedBy=multi-user.target
Here is my config
root@darni ~ # cat /etc/mailman3/uwsgi.ini # /etc/mailman3/uwsgi.ini # [uwsgi] # Port on which uwsgi will be listening. http-socket = 0.0.0.0:8000 # If running uwsgi from the virtual environment ... virtualenv = /usr/local/mailman/venv/
module=mailman_web.wsgi:application # Set PYTHONPATH env = PYTHONPATH=/etc/mailman3/ # The default settings module. env = DJANGO_SETTINGS_MODULE=settings
# Setup default number of processes and threads per process. master = true processes = 2 threads = 2
plugins = logfile
# Setup the django_q related worker processes. attach-daemon = /usr/local/mailman/venv/bin/mailman-web qcluster
# Setup the request log. req-logger = file:/usr/local/mailman/web/logs/uwsgi.log
# Log qcluster commands separately. logger = qcluster file:/usr/local/mailman/web/logs/uwsgi-qcluster.log log-route = qcluster uwsgi-daemons
# Last log and it logs the rest of the stuff. logger = file:/usr/local/mailman/web/logs/uwsgi-error.log
It's the same as is the doc, just the head directory is changed. I also had to add
plugins = logfile
otherwise I get complaints it can't log. I suspect this could be usefully added to the doc.
Thanks and cheers!
-- Written by Thomas Krichel http://openlib.org/home/krichel on his 22206th day.
On Sun, Mar 22, 2026, at 9:56 AM, Thomas Krichel wrote:
root@darni ~ # cat /etc/mailman3/uwsgi.ini # /etc/mailman3/uwsgi.ini # [uwsgi] # Port on which uwsgi will be listening. http-socket = 0.0.0.0:8000
I would change that to localhost if I were you. I have mine as 127.0.0.1:8000, but using a IPv6 version would probably be better for some unspecified reason. Otherwise you’re going to get scary looking errors about connections from unknown places, mostly script kiddies. They won’t do any damage, because they won’t be in your ALLOWED_HOSTS or CSRF_TRUSTED_DOMAINS, but it will give you a quieter life.
-- Paul Tomblin
Paul Tomblin via Mailman-users writes
I would change that to localhost if I were you.
Thank you. I copied this from the documentation at
https://docs.mailman3.org/en/latest/install/virtualenv.html
I have mine as 127.0.0.1:8000
I now use localhost:8000, having tried to make sure it can be looked up.
root@darni ~ # nslookup localhost Server: 185.12.64.1 Address: 185.12.64.1#53
Name: localhost Address: 127.0.0.1 Name: localhost Address: ::1
I stumbled across a complaint of my system not being able to find localhost recently.
-- Written by Thomas Krichel http://openlib.org/home/krichel on his 22207th day.
On 23.03.26 11:58, Thomas Krichel wrote:
Paul Tomblin via Mailman-users writes
I would change that to localhost if I were you.
Thank you. I copied this from the documentation athttps://docs.mailman3.org/en/latest/install/virtualenv.html
I have mine as 127.0.0.1:8000
I now use localhost:8000, having tried to make sure it can be looked up.
root@darni ~ # nslookup localhost Server: 185.12.64.1 Address: 185.12.64.1#53
This uses DNS to resolve localhost following the domain search list of your resolver configuration. That is irrelevant.
localhost is set in /etc/hosts for 127.0.0.1 and ::1 and nsswitch.conf is configured to consult files before dns.
The only relevant source for the localhost ip address mappings should be /etc/hosts This should always be this way so that you can always resolve localhost regardless of whether you have a network connection or not, whether it's booting up or shutting down...
-Gerald
On 3/22/26 10:56 PM, Thomas Krichel wrote:
But mailman-web processes are still runningroot@darni ~ # ps axf | grep mailman-web 532703 pts/4 S+ 0:00 \_ grep mailman-web 516993 ? Ss 0:00 /usr/local/mailman/venv/bin/python3.13 /usr/local/mailman/venv/bin/mailman-web qcluster --pythonpath /etc/mailman3 --settings settings 517012 ? S 0:05 \_ /usr/local/mailman/venv/bin/python3.13 /usr/local/mailman/venv/bin/mailman-web qcluster --pythonpath /etc/mailman3 --settings settings 517014 ? S 0:00 \_ /usr/local/mailman/venv/bin/python3.13 /usr/local/mailman/venv/bin/mailman-web qcluster --pythonpath /etc/mailman3 --settings settings 517015 ? S 0:00 \_ /usr/local/mailman/venv/bin/python3.13 /usr/local/mailman/venv/bin/mailman-web qcluster --pythonpath /etc/mailman3 --settings settings 517016 ? S 0:00 \_ /usr/local/mailman/venv/bin/python3.13 /usr/local/mailman/venv/bin/mailman-web qcluster --pythonpath /etc/mailman3 --settings settings 517017 ? S 2:09 \_ /usr/local/mailman/venv/bin/python3.13 /usr/local/mailman/venv/bin/mailman-web qcluster --pythonpath /etc/mailman3 --settings settings
These are qcluster processes. They are normally started and stopped separately from mailmanweb. See <https://docs.mailman3.org/en/latest/install/virtualenv.html#automatically-st...>.
You also need systemctl stop qcluster
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mark Sapiro writes
These are qcluster processes. They are normally started and stopped separately from mailmanweb.
I thought they would only be required for gunicorn. Since I could not otherwise understand why I would get a "No such file or directory" reaction to all my mailman requests, I switched to uwsgi. But even your advice could not kill the process listening at 8000, until I had the idea of checking who listens. And it was webfsd. Since webfsd uses 8000 as a default. Let them uses such an unimaginative port. I suggest to use a more quaint port number in the Mailman documentation. Why not use Jon Postel's birthday 194386. This could the nicknamed the Postel port.
Thanks and cheers!
-- Written by Thomas Krichel http://openlib.org/home/krichel on his 22207th day.
You should use "systemctl status <pid>" if you want to know which systemd service started a specific process with the given pid instead of guessing... -Gerald
On 23.03.26 13:19, Thomas Krichel wrote:
Mark Sapiro writes
These are qcluster processes. They are normally started and stopped separately from mailmanweb.
I thought they would only be required for gunicorn. Since I could not otherwise understand why I would get a "No such file or directory" reaction to all my mailman requests, I switched to uwsgi. But even your advice could not kill the process listening at 8000, until I had the idea of checking who listens. And it was webfsd. Since webfsd uses 8000 as a default. Let them uses such an unimaginative port. I suggest to use a more quaint port number in the Mailman documentation. Why not use Jon Postel's birthday 194386. This could the nicknamed the Postel port.
Thanks and cheers!
participants (4)
-
Gerald Vogt -
Mark Sapiro -
Paul Tomblin -
Thomas Krichel