想要部署一个网站,首先需要知道这个网站是基于什么语言写的,是世界上最好的语言-php,还是宇宙最强-Java,还是时代新秀-Python等。
知道是基于哪种语言写的,就可以选择对应的解释器了(选择php还是tomcat等)。如果网站代码是基于PHP写的,那么,我们就可以采用LNMP WEB架构部署。
其中L指的是Linux系统平台,N指的是Nginx高性能Web服务器,M指的是MySQL数据库,P指的是PHP解释器。
当接收到客户端浏览器发送HTTP Request请求时,Nginx服务器响应并处理web请求,静态资源CSS、图片、视频、TXT等静态文件请求,Nginx服务器可以直接处理并回应。
但是PHP动态页面请求Nginx不能直接处理,Nginx服务器会将PHP网页脚本通过接口传输协议(网关协议)PHP-FCGI(Fast-CGI)传输给PHP-FPM(进程管理程序),PHP-FPM不做处理,然后PHP-FPM调用PHP解析器解析PHP脚本信息。PHP解析器进程可以启动多个,可以实现多进程并发执行。
PHP解释器将解析后的脚本返回到PHP-FPM,PHP-FPM再通过Fast-CGI的形式将脚本信息传送给Nginx,Nginx服务器再通过Http Response的形式传送给浏览器,浏览器再进行解析与渲染然后进行呈现。
下面是在虚拟机本地演示的,如果是云服务器的话,部署方式一样。只不过通过云服务器部署的,可以在外网直接访问,虚拟机本地部署的,只能在局域网内访问。
实验环境:
centos 7
nginx 1.18
mariadb 5.5
PHP 5.4
# 配置nginx仓库:
cat > /etc/yum.repos.d/nginx.repo <<EOF
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
# 配置网易的base源:
wget -P /etc/yum.repos.d/ https://mirrors.163.com/.help/CentOS7-Base-163.repo
# 安装:
yum install nginx-1.18.0 php php-fpm php-devel php-mysql mariadb mariadb-server mariadb-devel -y
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.68-MariaDB MariaDB Server
MariaDB [(none)]> create database typecho charset utf8;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on typecho.* to "typecho"@localhost identified by "typecho";
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
# 下载代码:
wget -c http://typecho.org/downloads/1.1-17.10.30-release.tar.gz
tar xf 1.1-17.10.30-release.tar.gz
mv build /usr/share/nginx/html/typecho
chown apache. -R /usr/share/nginx/html/typecho/
### 修改nginx配置文件:
vim /etc/nginx/conf.d/default.conf
。。。
location / {
root /usr/share/nginx/html/typecho;
index index.html index.htm index.php;
}
。。。
location ~ .*\.php(?:$|\/) {
root /usr/share/nginx/html/typecho;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
。。。
# 启动nginx,php服务:
systemctl start nginx php-fpm
4. 访问IP:
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。