# smbpasswd -a <user>
(补充:之后输入用户的 Samba 密码)
# smbpasswd -a <user>
(补充:之后输入用户的 Samba 密码)
LNMP 是一个实现网站服务的方法,它由 4 样东西组成:
1) Linux 系统
2) Nginx 网页服务
3) MariaDB 数据库
4) PHP 网页程序
1) 服务器的系统需要是 openSUSE 15 版本
2) 服务器要关闭防火墙
3) 服务器系统要配置好可用的软件源(最好是软件数量最多的官方版本)
# zypper -n install nginx
# rm /etc/nginx/nginx.conf
# cp /etc/nginx/nginx.conf.default /etc/nginx.conf
# vi /etc/nginx/nginx.conf
将其中的:
......
location / {
root html;
index index.html index.htm;
}
......
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
......
修改为:
......
location / {
root html;
index index.php index.html index.htm;
}
......
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
......
(补充:这里以让 Nginx 将对于 PHP 的请求传递到本机的 9000 端口为例)
# systemctl start nginx
# zypper -n install mariadb mariadb-server
# systemctl start mariadb
# zypper -n install php7 php7-fpm php7-mysql php7-gd php7-mbstring php7-opcache php7-json php7-xmlrpc php7-zlib
# useradd php-fpm -s /sbin/nologin
# vi /etc/php-fpm.conf
将以下内容:
......
user = nouser
group = nouser
......
修改为:
......
user = php-fpm
group = users
listen = 127.0.0.1:9000
......
(
补充:这里以
1) 以 php-fpm 用户和 users 用户组的身份启动 php-fpm
2) 让 php-fpm 监听本地 9000 端口为例
)
1) 给 MariaDB 数据库设置用于存储网页数据的用户和密码
2) 将 PHP 网页程序放到 Nginx 的网页目录下(/srv/www/htdocs)
3) 给 PHP 网页程序设置用于连接 MariaDB 数据库的用户和密码
使用浏览器访问服务器 IP 地址就可以看到对应 PHP 网页了
纪念:站主于 2020 年 3 月完成了此开源实验,并将过程中的所有命令经过整理和注释以后,形成以下教程
文中的 python 系统名和 mysite 项目只是站主在本次操作中随意取的名称,读者可以根据自己的喜好换成任意别的名称
1) 服务器的系统需要是 CentOS Linux 7 版本
2) 服务器要关闭防火墙
3) 服务器要关闭 SELinux
4) 服务器系统要配置好可用的软件源
5) 服务器要能够连接外网
[root@python ~]# yum -y install python3
[root@python ~]# mkdir project
[root@python ~]# cd project
[root@python project]# python3 -m venv django_env
[root@python project]# source django_env/bin/activate
(django_env) [root@python project]# pip install django==1.11.6
Collecting django==1.11.6
Downloading https://files.pythonhosted.org/packages/82/33/f9d2871f3aed5062661711bf91b3ebb03daa52cc0e1c37925f3e0c4508c5/Django-1.11.6-py2.py3-none-any.whl (6.9MB)
100% |████████████████████████████████| 7.0MB 12kB/s
Collecting pytz (from django==1.11.6)
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)",)': /simple/pytz/
Downloading https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl (509kB)
100% |████████████████████████████████| 512kB 15kB/s
Installing collected packages: pytz, django
Successfully installed django-1.11.6 pytz-2019.3
You are using pip version 9.0.3, however version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
(django_env) [root@python project]#
(
补充:
1) 这里以安装 1.11.6 版本的 django 为例
2) 如果向直接安装最新版本的 django 可以使用 pip install django 命令
)
(django_env) [root@python project]# python
Python 3.6.8 (default, Aug 7 2019, 17:28:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.__version__
'1.11.6'
>>> exit()
(django_env) [root@python project]# django-admin startproject mysite
# yum -y install tree
(django_env) [root@python project]# cd mysite
(django_env) [root@python mysite]# tree
.
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
1 directory, 5 files
1) mysite 此 Django 项目的容器
2) manage.py 命令行工具,与 Django 项目进行交互
3) mysite/init.py 空文件,通知 Python 此项目是一个 Python 包
4) mysite/settings.py 此 Django 项目的配置文件
5) mysite/urls.py 此 Django 项目的 URL 声明和 Django 的网站“目录”
6) mysite/wsgi.py WSGI 兼容 Web 服务器的入口
(django_env) [root@python mysite]# python manage.py runserver 0.0.0.0:8000
Performing system checks...
System check identified no issues (0 silenced).
February 27, 2020 - 05:35:30
Django version 1.11.6, using settings 'mysite.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
(补充:这里以使用 8000 端口开启网站服务为例)
通过浏览器访问以下网址:
http://127.0.0.1:8000/admin
LNMP 是一个实现网站服务的方法,它由 4 样东西组成:
1) Linux 系统
2) Nginx 网页服务
3) MariaDB 数据库
4) PHP 网页程序
1) 服务器的系统需要是 CentOS Linux 8 版本
2) 服务器要关闭防火墙
3) 服务器要关闭 SELinux
4) 服务器系统要配置好可用的软件源
# yum -y install nginx
# rm /etc/nginx/nginx.conf
# cp /etc/nginx/nginx.conf.default /etc/nginx.conf
# vi /etc/nginx/nginx.conf
将其中的:
......
location / {
root html;
index index.html index.htm;
}
......
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
......
修改为:
......
location / {
root html;
index index.php index.html index.htm;
}
......
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
......
(补充:这里以让 Nginx 将对于 PHP 的请求传递到本机的 9000 端口为例)
# systemctl start nginx
# yum -y install mariadb mariadb-server
# systemctl start mariadb
# yum -y install php php-fpm php-mysqlnd php-gd php-mbstring php-opcache php-json php-xml
# useradd php-fpm -s /sbin/nologin
# vi /etc/php-fpm.conf
添加以下内容:
......
[www]
user = php-fpm
group = php-fpm
listen = 127.0.0.1:9000
(补充:这里以让 php-fpm 监听本地 9000 端口为例)
# systemctl start php-fpm
1) 给 MariaDB 数据库设置用于存储网页数据的用户和密码
2) 将 PHP 网页程序放到 Nginx 的网页目录下
3) 给 PHP 网页程序设置用于连接 MariaDB 数据库的用户和密码
使用浏览器访问服务器 IP 地址就可以看到对应 PHP 网页了
纪念:站主于 2020 年 1 月完成了此开源实验,并将过程中的所有命令经过整理和注释以后,形成以下教程
在 RealVNC 官网上下载使用 VNC 服务所需软件 VNC View:
服务端 192.168.100.10
客户端 192.168.100.11
1) 服务器提供 VNC 服务让其他设备可以远程自己的桌面
2) 客户端通过 VNC 服务远程服务器的桌面
1) 所有服务器的系统都需要是 CentOS 7 版本
2) 所有服务器都要关闭防火墙
3) 所有服务器都要关闭 SELinux
4) 所有服务器系统都要配置好可用的软件源
5) 需要按照拓扑图给对应的服务器配置好 IP 地址和主机名
6) 所有服务器都要可以相互 ping 通自己和对方的 IP 地址和主机名
(只在服务端上执行以下步骤)
# yum -y groupinstall "Server with GUI"
# yum -y groupinstall "GNOME Desktop"
(只在服务端上执行以下步骤)
# useradd zhumingyu
(只在服务端上执行以下步骤)
# passwd zhumingyu
(只在服务端上执行以下步骤)
# yum -y install tigervnc tigervnc-server
(只在服务端上执行以下步骤)
# cp /lib/systemd/system/vncserver\@.service /lib/systemd/system/vncserver\@:1.service
(只在服务端上执行以下步骤)
# vi /lib/systemd/system/vncserver\@:1.service
将其中的:
......
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
修改为:
......
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l zhumingyu -c "/usr/bin/vncserver %i"
PIDFile=/home/zhumingyu/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
(只在服务端上执行以下步骤)
# systemctl daemon-reload
(只在服务端上执行以下步骤)
# systemctl enable vncserver@:1.service
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:1.service to /usr/lib/systemd/system/vncserver@:1.service.
(只在服务端上执行以下步骤)
# su - zhumingyu
(只在服务端上执行以下步骤)
$ vncserver :1
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? y
Password:
Verify:
New 'vnc:1 (zhumingyu)' desktop is vnc:1
Creating default startup script /home/zhumingyu/.vnc/xstartup
Creating default config /home/zhumingyu/.vnc/config
Starting applications specified in /home/zhumingyu/.vnc/xstartup
Log file is /home/zhumingyu/.vnc/vnc:1.log
# su - zhumingyu
$ vncpasswd
(只在服务端上执行以下步骤)
$ ss -ntulap | grep 5901
tcp LISTEN 0 5 *:5901 *:* users:(("Xvnc",pid=1152,fd=9))
tcp LISTEN 0 5 [::]:5901 [::]:* users:(("Xvnc",pid=1152,fd=10))
(只在客户端上执行以下步骤)
# yum -y groupinstall "Server with GUI"
# yum -y groupinstall "GNOME Desktop"
(只在客户端上执行以下步骤)
# yum -y localinstall VNC-Viewer-6.19.1115-Linux-x64.rpm
(补充:这里以安装 VNC-Viewer-6.19.1115-Linux-x64.rpm 为例)
(只在客户端上执行以下步骤)
# startx
(只在客户端上执行以下步骤)
(只在客户端上执行以下步骤)
(只在客户端上执行以下步骤)
(只在客户端上执行以下步骤)