发表于: 2017-01-22 23:54:17

1 1822


今天完成的事情:

1、 服务器安装Jetty,代码上传到服务器,用Jetty测试

2、 安装nginx

明天计划的事情:

解决nginx问题,配置Nginx,使用子域访问。

遇到的问题:

1、 服务器安装Jetty,下载版本:

                                             

下载后上传到服务器,解决到opt下,用命令:

tar -zxvf jetty-distribution-9.3.15.v20161220.tar.gzip -C /opt

进入到opt目录下,改个名:

$mv jetty-distribution-9.3.15.v20161220 jetty

创建jetty用户,并将其设置成/opt/jetty目录的属主

sudo useradd jetty -U -s /bin/false

sudo chown -R jetty:jetty /opt/jetty

拷贝Jetty脚本到启动目录,以便让它作为一个服务来运行

cp /opt/jetty/bin/jetty.sh /etc/init.d/jetty

创建Jetty设置文件,用命令:sudo vi /etc/default/jetty

添加以下行:

JAVA_HOME=/usr/java/jdk1.8.0_121

JETTY_HOME=/opt/jetty

NO_START=0

JETTY_ARGS=jetty.port=8085

JETTY_HOST=0.0.0.0

JETTY_USER=jetty

最后启动Jetty服务,但是报错了:

这个感觉是由于把jetty设为一个服务没有生效,我网上搜索了很长时间都没结果,这里不得不吐槽一下,百度搜索出来的全他妈是同一篇文章,看多了烦不说,还他妈浪费时间。

 

最后没办法直接切换到$JETTY_HOME目录下用命令:java -jar start.jar启动试试,果然可以:

因为前面我已经设置了JETTY_ARGS=jetty.port=8085,所以一直以为jetty的端口改成了8085,但是显示不能访问8085,认真看了一下启动信息,发现端口仍是8080端口,这也解释了刚才端口被tomcat占用的情况,试了一下用8080访问是可以的:

但是,用service jetty start命令启动还是不能用,在/etc/default/jetty配置的信息一直没生效,不知道原因

 

收获:

1、 安装nginx,有两种安装方式,一种在线安装,省事。一种本地下载源文件上传到服务器上安装,较复杂。我选了第二个方式,不少折腾。安装nginx前要先安装PCREzlibSSL这三个,下载的原码存放到目录/usr/local/src

1)   安装PCRE,我下载的是pcre-8.40.tar.gz (http://www.pcre.org/)

解压:tar -jxvf pcre-8.40.tar.gz

进入解压目录,执行./configure

执行make

执行make install

    2)安装zlib,我下载的版本是zlib-1.2.7.tar.gz (http://www.zlib.net/)

    解压:tar -zxvf zlib-1.2.8.tar.gz

    进入解压目录,执行./configure

    执行make

    执行make install

    3)安装openssl,我用openssl-1.0.1s.tar.gz (http://www.openssl.org/source/)

    解压:tar -zxvf openssl-1.0.1s.tar.gz

    进入解压目录,执行./config (注意不是./configure)

    执行make

    执行make install

    这里又要吐槽一下了,网上搜了一遍教程,安装openssl时只执行了解压命令,后面的./configure、makemake install都没执行,

                                             

导致我以为这里不能执行这三个命令,结果最后安装nginx时报错

   4)最后才是安装nginx,我下载的最新版本nginx-1.9.9.tar.gz,

    解压:tar -zxvf nginx-1.9.9.tar.gz

进入解压目录,执行./configure

    执行make

    执行make install

注意:./configure后面可以加参数,若安装时找不到上述依赖模块,使用--with-openssl=<openssl_dir>--with-pcre=<pcre_dir>--with-zlib=<zlib_dir>指定依赖的模块目录。如已安装过,此处的路径为安装目录;若未安装,则此路径为编译安装包路径,nginx将执行模块的默认编译安装。

最后,保险起见,修改了一下配置文件/usr/local/nginx/conf/nginx.conf,把listen端口号默认80修改为8181,浏览器访问


2、查看端口使用情况,使用netstat命令:

查看已经连接的服务端口(ESTABLISHED

netstat -a

查看所有的服务端口(LISTENESTABLISHED

netstat -ap

查看指定端口,可以结合grep命令:

netstat -ap | grep 8080

也可以使用lsof命令:

lsof -i:8888

若要关闭使用这个端口的程序,使用kill + 对应的pid

kill -9 PID

pskill就是给某个进程id发送了一个信号。默认发送的信号是SIGTERM,而kill -9发送的信号是SIGKILL,即exitexit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。



返回列表 返回列表
评论

    分享到