yum安装Nginx、nginx虚拟主机、安装WordPress、安装discuz

yum安装Nginx

使用源码包安装Nginx需要很多步骤,我们可以使用yum的方式来安装Nginx。可以跟简单明了。

[root@localhost ~]# ps aux |grep nginx
root       7373  0.0  0.1  45936  1124 ?        Ss   21:44   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody     7374  0.0  0.1  46388  1904 ?        S    21:44   0:00 nginx: worker process
root       7376  0.0  0.0 112708   980 pts/0    R+   21:44   0:00 grep --color=auto nginx
[root@localhost ~]# pkill nginx
[root@localhost ~]# ps aux |grep nginx
root       7379  0.0  0.0 112708   980 pts/0    R+   21:44   0:00 grep --color=auto nginx
  • 删掉之前编译安装的Nginx
[root@localhost ~]# rm -rf /usr/local/nginx/
  • 搭建yum仓库
vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
  • 查看yum仓库是否生效
[root@localhost ~]# yum list |grep nginx
BDB2053 Freeing read locks for locker 0x5: 7383/140362401236800
nginx.x86_64                                1:1.14.2-1.el7_4.ngx       nginx    
nginx-debug.x86_64                          1:1.8.0-1.el7.ngx          nginx    
nginx-debuginfo.x86_64                      1:1.14.2-1.el7_4.ngx       nginx    
nginx-module-geoip.x86_64                   1:1.14.2-1.el7_4.ngx       nginx    
nginx-module-geoip-debuginfo.x86_64         1:1.14.2-1.el7_4.ngx       nginx    
nginx-module-image-filter.x86_64            1:1.14.2-1.el7_4.ngx       nginx    
nginx-module-image-filter-debuginfo.x86_64  1:1.14.2-1.el7_4.ngx       nginx    
nginx-module-njs.x86_64                     1:1.14.2.0.2.7-1.el7_4.ngx nginx    
nginx-module-njs-debuginfo.x86_64           1:1.14.2.0.2.7-1.el7_4.ngx nginx    
nginx-module-perl.x86_64                    1:1.14.2-1.el7_4.ngx       nginx    
nginx-module-perl-debuginfo.x86_64          1:1.14.2-1.el7_4.ngx       nginx    
nginx-module-xslt.x86_64                    1:1.14.2-1.el7_4.ngx       nginx    
nginx-module-xslt-debuginfo.x86_64          1:1.14.2-1.el7_4.ngx       nginx    
nginx-nr-agent.noarch                       2.0.0-12.el7.ngx           nginx    
pcp-pmda-nginx.x86_64                       4.1.0-5.el7_6              updates  
  • 使用yum安装Nginx
[root@localhost ~]# yum install nginx -y
  • 可以使用nginx -v 命令来查看Nginx版本。-V查看Nginx的参数。
[root@localhost ~]# nginx -v
nginx version: nginx/1.14.2
[root@localhost ~]# nginx -V
nginx version: nginx/1.14.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
  • 配置文件路径是/etc/nginx/nginx.conf
[root@localhost ~]# ls /etc/nginx/nginx.conf 
/etc/nginx/nginx.conf
  • 查看配置文件有没有语法错误,使用nginx -t
[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
  • 启动nginx
[root@localhost ~]# systemctl start nginx
  • 如果提示错误,则运行如下命令
Job for nginx.service failed because a configured resource limit was exceeded. See "systemctl status nginx.service" and "journalctl -xe" for details.
[root@localhost init.d]# sudo netstat -lnp | grep 0.0.0.0:80

Nginx虚拟主机

在一个web服务上能跑多个站点,每个站点就是一个虚拟主机。

[root@localhost /]# vi /etc/nginx/nginx.conf         打开Nginx配置文件
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;      这个就是虚拟主机配置文件的路径。
  • 可以看到,默认在这个路径下有一个default.conf的文件
[root@localhost /]# ls /etc/nginx/conf.d/
default.conf
  • 查看虚拟主机配置文件,定义虚拟主机配置文件,以域名为命名
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;
  • 这时候可以通过ip地址来访问该站点下的内容,是可以访问到的,如果访问不到,可以看一下是不是防火墙的安全策略的问题。iptables -nvL 查看防火墙规则
  • iptables -nvL 查看防火墙规则,如果确认是防火墙的问题,可以将80端口写入白名单。
firewall-cmd --add-port=80/tcp --permanent          将80端口写入安全策略。
firewall-cmd --reload                   重新加载firewalld
  • Nginx配置文件
server {
    listen       80;
    server_name www.gongzi.com;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/gongzi;
        index  index.html index.htm;
    }

  • 检查配置有无错误。
nginx -t //查看配置文件是否有错误
nginx -s reload //重新加载配置文件
systemctl restart nginx  //重启nginx
  • 通过修改hosts文件使域名生效,使用域名访问

默认虚拟主机

排在第一位的虚拟主机配置文件就是默认虚拟主机,或者是在配置文件中listen 80 后面添加default_server 。这样可以将该配置文件的站点定义成默认虚拟主机。

  • 默认虚拟主机,举个例子,abc.com能解析到该服务器,但是配置文件中并没有配置abc.com的域名,照样可以访问到默认虚拟主机的内容。添加一行deny all可以取消默认虚拟主机带来的泛解析

补充

Ctrl+z可以暂停一个进程,按fg可以再次回到进程。

新建一个站点blog

  • 新建一个blog.com.conf的虚拟主机配置文件
server {
    listen       80;
    server_name  blog.abc.com;

    #access_log  /var/log/nginx/host.access.log  main;
    #charset koi8-r;

    location / {
        root   /data/wwwroot/blog.abc.com;
        index  index.html index.htm index.php;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /data/wwwroot/blog.abc.com;
    }
    location ~ \.php$ {
        root           /data/wwwroot/blog.abc.com;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /data/wwwroot/blog.abc.com$fastcgi_script_name;
        include        fastcgi_params;
    }


}

  • 创建相应的目录
[root@localhost conf.d]# mkdir -p /data/wwwroot/blog.abc.com
  • 验证配置文件是否有错并重新加载
[root@localhost conf.d]# nginx -t
[root@localhost conf.d]# nginx -s reload

安装WordPress

[root@localhost blog.abc.com]# wget https://cn.wordpress.org/wordpress-5.0.2-zh_CN.tar.gz
  • 将下载的压缩包解压
[root@localhost blog.abc.com]# tar zxvf wordpress-5.0.2-zh_CN.tar.gz
  • 将解压的目录下的所有东西复制到当前目录,然后将压缩包和原目录删掉。
[root@localhost blog.abc.com]# cp wordpress/* ./
cp: omitting directory ‘wordpress/wp-admin’
cp: omitting directory ‘wordpress/wp-content’
cp: omitting directory ‘wordpress/wp-includes’
[root@localhost blog.abc.com]# ls
index.php    wordpress                     wp-blog-header.php    wp-cron.php        wp-login.php     wp-signup.php
license.txt  wordpress-5.0.2-zh_CN.tar.gz  wp-comments-post.php  wp-links-opml.php  wp-mail.php      wp-trackback.php
readme.html  wp-activate.php               wp-config-sample.php  wp-load.php        wp-settings.php  xmlrpc.php
[root@localhost blog.abc.com]# rm -rf wordpress wordpress-5.0.2-zh_CN.tar.gz 

  • 创建数据库设置数据库(先连接到MariaDB)
[root@localhost blog.abc.com]# mysql -uroot -ppassword
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 66
Server version: 10.3.12-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 blog;

  • 在MariaDB中为blog数据库创建用户
grant all on blog.* to 'blog'@'127.0.0.1' identified by 'pbxfuej3LR4r';
  • 切换到blog库,查询blog库里有什么标
use blog;
show tables;

安装discuz

yum install git -y
  • 克隆discuz
git clone https://gitee.com/ComsenzDiscuz/DiscuzX.git
  • 复制upload里面的内容到我们自定义的路径下
[root@localhost DiscuzX]# cp -r upload /data/wwwroot/bbs.abc.site
  • 定义主机配置文件
server {
    listen       80;
    server_name bbs.abc.site;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /data/wwwroot/bbs.abc.site;
        index  index.html index.htm index.php;
    }

    location ~ \.php$ {
        root           /data/wwwroot/bbs.abc.site;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /data/wwwroot/bbs.abc.site$fastcgi_script_name;
        include        fastcgi_params;
    }

}
  • 重新加载配置文件并检查有无错误
[root@localhost conf.d]# nginx -s reload
[root@localhost 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@localhost nginx]# setenforce 0

  • 修改目录属主权限。
[root@localhost bbs.abc.site]# chown -R php-fpm  config data uc_server/data  uc_client/data
[root@localhost bbs.abc.site]# chown -R php-fpm  config data uc_server/data  uc_client/data

转载于:https://my.oschina.net/u/3731306/blog/3010170

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值