apache的wsgi和lnmp
WSGI:
PythonWeb服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是Python应用程序或框架和Web服务器之间的一种接口,已经被广泛接受, 它已基本达成它的可移植性方面的目标。
WSGI 没有官方的实现, 因为WSGI更像一个协议. 只要遵照这些协议,WSGI应用(Application)都可以在任何服务器(Server)上运行, 反之亦然。
WSGI的实现:
1.将webapp.wsgi放到/var/www/cgi-bin下
2.chmod +x webapp.wsgi 因为此文件是一个程序,客户端访问服务端时,要在服务端执行此程序,因此需要可执行权限
3.yum install mod_wsgi.x86_64 -y
4.cd /etc/httpd/conf.d
5.vim webapp.conf 此文件前面解释过的内容不再做解释
<VirtualHost *:80>
ServerName webapp.westos.com
DocumentRoot /var/www/cgi-bin
CustomLog logs/webapp.log combined
WSGIScriptAlias / /var/www/cgi-bin/webapp.wsgi 当客户端访问apache服务器时,默认访问的是apache的80端口的/目录下,这行的意思就是当客户端访问webapp.westos.com时,跳转到服务器的/var/www/cgi-bin/webapp.wsgi目录下。
</VirtualHost>
6.systemctl restart httpd
测试:客户端添加本地解析
1.vim /etc/hosts
192.168.1.120 www.westos.com news.westos.com music.westos.com login.westos.com webapp.westos.com
浏览器输入webapp.westos.com
伴随着不断刷新,时间也在不断发生这变化。证明了客户端在访问apache服务器时可以执行服务器的python程序。
LAMP网站架构
在介绍LAMP前,先来介绍一下lNMP,LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。
LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,也是用来建立web应用平台。
这里,我以部署论坛的操作来代替部署LAMP网站的架构
部署论坛
1-4:给论坛做一个apache,具体操作如下:
1.cd /etc/httpd/conf.d/
2.cp music.conf bbs.conf
3.vim bbs.conf
<VirtualHost *:80>
ServerName bbs.westos.com
DocumentRoot /var/www/westos.com/bbs/html
CustomLog logs/bbs.log combine
</VirtualHost>
<Directory "/var/www/westos.com/bbs/html/">
Require all granted
</Directory>
4.mkdir /var/www/westos.com/bbs/html -p
5.cd /var/www/westos.com/bbs/html
6.将Discuz_X3.2_SC_UTF8.zip放到此目录下
7.unzip Discuz_X3.2_SC_UTF8.zip 解压
8.cd readme/ --> vim readme.txt 查看安装说明指导
9.cd .. --> ls 根据指导上传upload目录(我在第6部已经做过),然后进入此目录,对次目录下的目录进行权限修改
10.chmod -R 777 config 根据安装指导的第二步,需要设置目录属性,给config和data目录有读写权限,这两个目录在
chmod -R 777 data upload目录下。
11.systemctl restart httpd.service
根据安装指导的第三步,执行安装脚本/install/ 请在浏览器中运行 install 程序,即访问 http://您的域名/论坛目录/install/。需在本地添加DNS
12-17可以配合测试端查看效果
12.setenforce 0 根据安装要求,将selinux设为警告模式,或者在强制模式下允许
刷新安装页面,会发现一部分的红色X变成了对号
但是依然还有一部分是红色X,而且都是因为./uc_client和./uc_server目录不可写
13.chmod -R 777 uc_client/
chmod -R 777 uc_server/ 根据安装的权限要求,修改这两个目录的权限,这两个目录在upload目录下
刷新安装页面会发现,只剩一个X,是关于数据库的,因此还需要安装数据库
14.yum install mariadb-server.x86_64 -y 根据按装要求,给服务器安装数据库
systemctl start mariadb 开启数据库服务
systemctl enable mariadb 开机自启动数据库服务
15 vim /etc/my.cnf 修改数据库配置文件
内容: skip-networking=1 关闭数据库的所有网络端口
systemctl restart mariadb 重启数据库服务
netstat -antlupe | grep mysql 查看网络端口是否已关闭
16 mysql_secure_installation 数据库安全初始化设置,给数据库加密码等等
17 yum install php-mysql.x86_64 -y 安装数据库php插件,以便数据库能够被php语言所操作
systemctl restart mariadb.service 重启数据库服务
systemctl restart httpd.service 重启http服务
再次刷新就全是对号了,然后点击下一步
继续点击下一步
填写相关信息
安装完成后,输入bbs.westos.com/upload就可以看到论坛已经部署成功。