最近有个朋友要我帮忙,把他的php站从一个虚拟主机搬到一个服务器上去.但是服务器是linux(cenos)的,并且上面有java环境.
这可让我头疼了.一是没用过linux,二是上面有其他环境,还在使用中,不能有影响.
据服务器的维护人员说,服务器上用的是nginx. mysql已经有了,至于java用的什么没有说,我也没问,一般来说都是tomcat.
首先,我准备先装php,这个是必要的
可以用php -v 来查看, 这个我之前不知道,然后摸索了半天,发现已经安装了
其次,可以用apache -v (httpd -v)来查看apache是否安装,这个也是事先不知道的.具体我怎么弄的不知道了,只记得找了半天找到了httpd.conf这个文件,才发现有安装了apache.这里还有问题,我改了半天的配置文件,发现不能正常解析,apache监听的是7273端口,二级域名解析过来不能直接用,只能带端口号.另外,开始带端口号能解析到我想要的网站,后来不知道怎么回事,直接跳转到java网站上去了,最后一直没有找到问题
但是搞了半天,发现80端口被占用了,不知道是什么只能看到 3753/java,问了下朋友,说是java占用的,当时我就奇怪了, 没有nginx,没有tomact,没有apache,那什么什么负责解析的?
(netstat命令是个重点)
netstat : 查看端口状态,看不到7273端口
netstat -nlp |grep listen 查看端口监听状态,是能看到的7273端口的监听的,不明白是什么情况
综合以上下一步的方案是安装nginx做个代理.分别转发给java和apache
根据进程查看
(ps命令是个重点)
ps aux|grep java
过程:
1.个别情况需要加dns解析
(vi 也是个重点)
vi /etc/resolv.conf
增加两个dns服务(nameserver)ip:8.8.8.8和8.8.4.4
安装或更新yum
直接yum ,可以判断是否已安装yum
yum update 更新yum
如果有了yum,可以直接安装wget
yum -y install wget
2.基本命令好了以后,我们安装依赖包
若要安装nginx的话,首先要有gcc 环境
yum install gcc-c++
模块使用 pcre 来解析正则表达式 ,所以需要 PCRE pcre-devel
yum install -y pcre pcre-devel
nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要安装 zlib 库。
yum install -y zlib zlib-devel
nginx 不仅支持 http 协议,还支持 https,所以需要 安装 OpenSSL 库
yum install -y openssl openssl-devel
通过官网下载
wget -c https://nginx.org/download/nginx-1.xx.x.tar.gz
注意:需要一个认证下载指令,所以命令后面要加上 --no-check-certificate
wget -c https://nginx.org/download/nginx-1.xx.x.tar.gz --no-check-certificate
下载完成解压:
tar -zxvf nginx-1.xx.x.tar.gz
cd nginx-1.xx.x
编辑并安装
make
make install
查找安装路径
whereis nginx
另外如果没有配置环境变量的话,默认是无法使用 nginx -v的,需要用 ./nginx -v
另外,环境变量修改后不需要重启系统,只需要source /etc/profile 即可
退出,停止,重启命令
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop 此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s quit 此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
./nginx -s reload 让配置生效需要重启 nginx
顺便提一下,重启apache命令如下,至于apache怎么多站点,我们在另一篇里说
service httpd start 启动
service httpd restart 重新启动
service httpd stop 停止服务
好了,nginx配置完成.因为vi用的不熟,所以将配置文件用ftp下载出来
因为我们需要是反向代理,所以要这样配置:
将html中的server复制几份,我们只需要修改,server_name 和 location / { proxy_pass ... } 即可. server_name指访获取的域名网址,将匹配的结果转向到 location / { proxy_pass .新网址. } 即可.