其他分享
首页 > 其他分享> > LAMP单虚拟机部署网站

LAMP单虚拟机部署网站

作者:互联网

LNMP环境架构部署

部署nginx支持fastcgi

fastcgi_pass 请求转发

官网文档
https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_pass

Syntax:    fastcgi_pass address;
Default:    —
Context:    location, if in location
Sets the address of a FastCGI server. The address can be specified as a domain name or IP address, and a port:


用法1,转发给ip:port形式
fastcgi_pass localhost:9000;

用法2,转发给unix socket本地进程套接字
fastcgi_pass unix:/tmp/fastcgi.socket;

设置fastcgi首页,需要结合fastcgi_param。

https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_index

语法
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;

具体配置

[root@web-8 /etc/nginx/conf.d]#cat php.conf 
server{
    listen 80;
    server_name yuchaoit.cn;
    # 静态请求,资源存放路径
    root /www;
    index index.php index.html;

    # 动态请求处理
    location ~ \.php$ {

        root /code;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}


$document_root  就表示当前locatin设置的root或是alias的目录
SCRIPT_FILENAME 用于在php中确定脚本名字
fastcgi_script_name 请求的URL

整体意思是,用户发来的php相关请求,包括请求中的所有参数,全部转发给127.0.0.1:9000的php程序。

创建php程序目录

[root@web-8 ~]#mkdir -p /code
[root@web-8 ~]#chown -R www.www /code
[root@web-8 ~]#vim /code/test-phpinfo.php
[root@web-8 /etc/nginx/conf.d]#cat /code/test-phpinfo.php
<?php
phpinfo();
echo "welcome to yuchaoit.cn"
?>


检查nginx语法且启动

[root@web-8 ~]#nginx -t 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@web-8 ~]#systemctl start nginx
[root@web-8 ~]#pe -es | grep nginx
-bash: pe: command not found
[root@web-8 ~]#pe -ef | grep nginx
-bash: pe: command not found
[root@web-8 ~]#ps -ef | grep nginx
root       2702      1  0 May25 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx      2703   2702  0 May25 ?        00:00:00 nginx: worker process
root       3797   3015  0 00:08 pts/1    00:00:00 grep --color=auto nginx

绑定本地hosts

访问页面,访问该php资源文件

测试php和数据库的连通

先检查驱动是否正常,通过php-info页面,查看php的详细信息。

代码测试

[root@web-8 /etc/nginx/conf.d]#cat /code/mysql-test.php 
<?php

    $server="127.0.0.1";
    $mysql_user="root";
    $mysql_pwd="222222";


    // 创建数据库连接
    $conn=mysqli_connect($server,$mysql_user,$mysql_pwd);

    // 检测连通性
    if($conn){
        echo "mysql successful by yuchaoit.cn \n";
    }else {
        die( "Connection failed:  "  .  mysqli_connect_error());
    }

?>

五、部署知识社区网站

1.创建nginx虚拟主机

[root@web-8 /etc/nginx/conf.d]#cat wecenter.conf
server{
    listen 80;
    server_name wecenter.laoliu.cc;

    # 静态请求,资源存放路径
    root /code/wecenter;
    index index.php index.html;

    # 动态请求处理
    location ~ \.php$ {

        root /code/wecenter;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

测试语法

[root@web-8 /etc/nginx/conf.d]#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@web-8 /etc/nginx/conf.d]#systemctl restart nginx

2.获取wecenter源码

下载地址
[root@web-8 /etc/nginx/conf.d]#mkdir /code/wecenter
[root@web-8 /etc/nginx/conf.d]#cd /code/wecenter && wget http://yuchaoit.cn/data/wecenter.zip


解压缩,授权,进入php代码目录

unzip wecenter.zip 
授权
chown -R www.www /code/

3.创建wecenter数据库

[root@web-8 /code/wecenter]#mysql -uroot -p222222
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database wecenter character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> quit
Bye

4.访问页面

填入信息

数据库导入成功后,可以进入数据库看看,是否生成了数据表。

mysql -uroot -p222222
use wecenter;
show tables;


MariaDB [wecenter]> use wecenter;
Database changed
MariaDB [wecenter]> show tables;
+--------------------------------+
| Tables_in_wecenter             |
+--------------------------------+
| aws_action_log                 |
| aws_active_data                |
| aws_answer                     |
| aws_answer_comments            |
| aws_answer_thanks              |
| aws_answer_uninterested        |
| aws_answer_vote                |
| aws_approval                   |
| aws_article                    |
| aws_article_comments           |
| aws_article_vote               |
| aws_attach                     |
| aws_ban_ip                     |
| aws_category                   |
| aws_column                     |
| aws_column_focus               |
| aws_draft                      |
| aws_edm_task                   |
| aws_edm_taskdata               |
| aws_edm_unsubscription         |
| aws_edm_userdata               |
| aws_edm_usergroup              |
| aws_education_experience       |
| aws_favorite                   |
| aws_favorite_tag               |
| aws_feature                    |
| aws_feature_topic              |
| aws_geo_location               |
| aws_help_chapter               |
| aws_hook                       |
| aws_hook_plugins               |
| aws_inbox                      |
| aws_inbox_dialog               |
| aws_integral_log               |
| aws_invitation                 |
| aws_jobs                       |
| aws_mail_queue                 |
| aws_menu                       |
| aws_nav                        |
| aws_nav_menu                   |
| aws_notes                      |
| aws_notification               |
| aws_notification_data          |
| aws_order_detail               |
| aws_pages                      |
| aws_payment                    |
| aws_plugins                    |
| aws_posts_index                |
| aws_product_order              |
| aws_project                    |
| aws_project_like               |
| aws_project_product            |
| aws_question                   |
| aws_question_comments          |
| aws_question_complain          |
| aws_question_focus             |
| aws_question_invite            |
| aws_question_thanks            |
| aws_question_uninterested      |
| aws_received_email             |
| aws_receiving_email_config     |
| aws_redirect                   |
| aws_related_links              |
| aws_related_topic              |
| aws_report                     |
| aws_reputation_category        |
| aws_reputation_topic           |
| aws_school                     |
| aws_search_cache               |
| aws_sessions                   |
| aws_sysaccount                 |
| aws_system_setting             |
| aws_ticket                     |
| aws_ticket_invite              |
| aws_ticket_log                 |
| aws_ticket_reply               |
| aws_topic                      |
| aws_topic_focus                |
| aws_topic_merge                |
| aws_topic_relation             |
| aws_user_account               |
| aws_user_action_history        |
| aws_user_action_history_data   |
| aws_user_action_history_fresh  |
| aws_user_follow                |
| aws_user_refund                |
| aws_user_withdraw              |
| aws_users                      |
| aws_users_attrib               |
| aws_users_facebook             |
| aws_users_google               |
| aws_users_group                |
| aws_users_notification_setting |
| aws_users_online               |
| aws_users_qq                   |
| aws_users_sina                 |
| aws_users_twitter              |
| aws_users_ucenter              |
| aws_users_weixin               |
| aws_verify_apply               |
| aws_weibo_msg                  |
| aws_weixin_accounts            |
| aws_weixin_login               |
| aws_weixin_message             |
| aws_weixin_msg                 |
| aws_weixin_qr_code             |
| aws_weixin_reply_rule          |
| aws_weixin_template            |
| aws_weixin_third_party_api     |
| aws_work_experience            |
+--------------------------------+
110 rows in set (0.00 sec)

MariaDB [wecenter]> quit
Bye

创建登录网站的管理员用户密码

xafei
l123456
1398787859@qq.com

安装完毕后,删除安装程序

[root@web-8 /code/wecenter]#ls
app            index.php    nginx.htaccess  system       views
cache          install      plugins         tmp          wecenter.zip
changelog.txt  language     README.md       uploads
composer.json  license.txt  robots.txt      vendor
composer.lock  models       static          version.php
删除
[root@web-8 /code/wecenter]#rm -rf install/

登录问答网站

可以在数据库中查询到用户信息。

[root@web-8 /code/wecenter]#mysql -uroot -p222222
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 14
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> select user_name,password from wecenter.aws_users;
+-----------+----------------------------------+
| user_name | password                         |
+-----------+----------------------------------+
| xafei     | a713e5ae6ce99b7d6cb61915f5dd80ef |
+-----------+----------------------------------+
1 row in set (0.00 sec)

部署wordpress

nginx环境搭建

[root@web-8 /etc/nginx/conf.d]#cat wordpress.conf 
server{
    listen 80;
    server_name wordpress.laoliu.cc;

    # 静态请求,资源存放路径
    root /code/wordpress;
    index index.php index.html;

    # 动态请求处理
    location ~ \.php$ {

        root /code/wordpress;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

2.重启nginx
[root@web-7 /etc/nginx/conf.d]#systemctl restart nginx

3.解压
mkdir -p /code/wordpress ; cd /code/wordpress ; wget https://cn.wordpress.org/latest-zh_CN.zip

解压缩
unzip latest-zh_CN.zip
mv wordpress/* .

授权
[root@web-8 /code/wordpress]#chown -R www.www /code/

4.创建数据库
[root@web-7 /code/wordpress]#mysql -uroot -p222222
MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)

dns解析

客户端访问

发表文章

检查数据库

[root@web-8 /code/wordpress]#!mysql
mysql -uroot -p222222
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 51
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| wecenter           |
| wordpress          |
+--------------------+
6 rows in set (0.00 sec)



MariaDB [(none)]> 

查看数据表
MariaDB [wordpress]> show tables;

查看文章表
MariaDB [wordpress]> desc wp_posts;

查看文章数据
MariaDB [wordpress]>select post_content from wp_posts;

自建yum源

[root@master-61 ~]#mkdir /yumrpm


[root@master-61 ~]#mkdir /yumrpm
[root@master-61 ~]#cd /yumrpm/
[root@master-61 /yumrpm]#ll
total 0
[root@master-61 /yumrpm]#rz -E
rz waiting to receive.
[root@master-61 /yumrpm]#ll
total 83908
-rw-r--r-- 1 root root 85919950 May 26 13:33 all-rpm.tgz

[root@master-61 /yumrpm]#tar -zxf all-rpm.tgz 
[root@master-61 /yumrpm]#ll
total 83924
-rw-r--r-- 1 root root 85919950 May 26 13:33 all-rpm.tgz
drwxr-xr-x 2 root root    12288 May 26 07:56 local_yum_rpm

[root@master-61 /yumrpm]#yum install nginx -y


[root@master-61 /yumrpm]#cd /etc/nginx/conf.d/

[root@master-61 /etc/nginx/conf.d]#ls 
[root@master-61 /etc/nginx/conf.d]#vim download.conf
[root@master-61 /etc/nginx/conf.d]#cat download.conf 
server {

    listen 23456;
    server_name localhost;
    charset utf-8;
    location / {

        root /yumrpm/;
	autoindex on;
        autoindex_localtime on;
        autoindex_exact_size off;
    }
}


[root@master-61 /etc/nginx/conf.d]#systemctl start nginx
[root@master-61 /etc/nginx/conf.d]#systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.



[root@master-61 /etc/nginx/conf.d]#yum install createrepo -y

[root@master-61 /yumrpm]#createrepo  /yumrpm/
Spawning worker 0 with 160 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete



[root@web-7 /etc/yum.repos.d]#cat yumrpm.repo 
[all-rpm]
name=all  repo
baseurl=http://10.0.0.61:23456
enabled=1
gpgcheck=0


标签:部署,虚拟机,aws,nginx,LAMP,conf,MariaDB,root,fastcgi
来源: https://www.cnblogs.com/Xafei/p/16518992.html